Part Number Hot Search : 
DS229 TP101B47 2N6547 908QT1CF SC805 Q980000 L151K6 7C106
Product Description
Full Text Search
 

To Download STAC9752 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  datasheet two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing STAC9752/9753 idt? 1 STAC9752/9753 v 3.3 101006 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing description idt's STAC9752/9753 are general purpose 20-bit, full duplex, audio codecs conforming to the analog component specification of ac'97 (audio codec 97 component specification rev. 2.3 ). the STAC9752/9753 incorporate idt's proprietary sd technology to achieve a dac snr in excess of 90db. the dacs, adcs and mixer are integrated with analog i/os, which include four analog line-level stereo inputs, two analog line-level mono inputs, two stereo outputs, and one mono output channel. the STAC9752/9753 include digital output capability for support of modern pc systems with an output that supports the spdif format. the STAC9752/9753 are standard 2-channel stereo codecs. with idt?s headphone capability, headphones can be driven without an external amplifier. the STAC9752/9753 may be used as a secondary or tertiary codecs , with stac9700/21/44/56/ 08/84/50/66 as the primary, in a multiple codec configuration conforming to the ac'97 rev. 2.3 specification . this configuration can provide the true six-channel, ac-3 playback required for dvd applications. the STAC9752/9753 communicate via the five ac-link lines to any digital component of ac '97, providing flexibility in the audio system design. packaged in an ac '97 compliant 48-pin tqfp, the STAC9752/9753 can be placed on the motherboard, daughter boards, pci, amr, cnr, mdc or acr cards. features ? high performance sd technology ? ac?97 rev 2.3 compliant ? 20-bit full duplex stereo adcs, dacs ? independent sample rates for adcs & dacs ? 5-wire ac-link protocol compliance ? 20-bit spdif output ? internal jack sensing on headphone and line_out ? internal microphone input sensing ? digital pc beep option ? extended ac?97 2.3 paging registers ? adjustable vref amplifier ? digital-ready status ? general purpose i/os ? crystal elimination circuit ? headphone drive capability (50 mw) ? 0db, 10db, 20db, and 30db microphone boost capability ? +3.3 v (stac9753) and +5 v (STAC9752) analog power supply options ? pin compatible with the stac9700, stac9721, stac9756 ? 100% pin compatible with stac9750 and stac9766 ? idt surround (ss3d) stereo enhancement ? energy saving dynamic power modes ? multi-codec option (intel ac'97 rev 2.3 ) ? six analog line-level inputs ? 90db snr line to line ? snr > 89db through mixer and dac
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 2 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing table of contents 1. product brief ...................................................................................................................... 7 1.1. description ................................................................................................................................ ........ 7 1.2. STAC9752/9753 block diagram ........................................................................................................ 8 1.3. key specifications ............................................................................................................................. 8 1.4. related materials .............................................................................................................................. 9 1.5. additional support ............................................................................................................................. 9 2. characteristics and specifications ....................................................................... 10 2.1. electrical specifications ................................................................................................................... 10 2.1.1. absolute maximum ratings ............................................................................................... 10 2.1.2. recommended operation conditions .............................................................................. 10 2.1.3. power consumption ......................................................................................................... 11 2.1.4. ac-link static digital specifications ................................................................................. 12 2.1.5. STAC9752 5 v analog performance characteristics ....................................................... 12 2.1.6. stac9753 3.3v analog performance characteristics ..................................................... 14 2.2. ac timing characteristics ............................................................................................................... 16 2.2.1. cold reset ......................................................................................................................... 16 2.2.2. warm reset ....................................................................................................................... 16 2.2.3. clocks ................................................................................................................................ 17 2.2.4. STAC9752/9753 crystal elimination circuit and clock frequencies ................................ 17 2.2.5. data setup and hold ........................................................................................................ 18 2.2.6. signal rise and fall times ............................................................................................... 18 2.2.7. ac-link low power mode timing .................................................................................... 19 2.2.8. ate test mode ................................................................................................................. 19 3. typical connection diagram ....................................................................................... 20 3.1. slit independent power supply operation ...................................................................................... 21 4. controller, codec and ac-link ................................................................................. 23 4.1. ac-link physical interface .............................................................................................................. 23 4.2. controller to single codec ............................................................................................................ 23 4.3. controller to multiple codecs ........................................................................................................ 25 4.3.1. primary codec addressing ............................................................................................. 25 4.3.2. secondary codec addressing ........................................................................................ 25 4.3.3. codec id strapping ......................................................................................................... 26 4.4. clocking for multiple codec implementations ............................................................................... 26 4.5. STAC9752/9753 as a primary codec ........................................................................................... 26 4.5.1. STAC9752/9753 as a secondary codec ........................................................................ 26 4.6. ac-link power management ........................................................................................................... 27 4.6.1. powering down the ac-link .............................................................................................. 27 4.6.2. waking up the ac-link ...................................................................................................... 27 4.6.3. codec reset ................................................................................................................... 28 5. ac-link digital interface .............................................................................................. 29 5.1. overview ................................................................................................................................ ......... 29 5.2. ac-link serial interface protocol .................................................................................................... 30 5.2.1. ac-link variable sample rate operation ......................................................................... 30 5.2.2. variable sample rate signaling protocol .......................................................................... 30 5.2.3. primary and secondary codec register addressing ...................................................... 32 5.3. ac-link output frame (sdata_out) ............................................................................................ 32 5.3.1. slot 0: tag / codec id ................................................................................................... 34 5.3.2. slot 1: command address port ......................................................................................... 34 5.3.3. slot 2: command data port ............................................................................................... 35 5.3.4. slot 3: pcm playback left channel .................................................................................. 35 5.3.5. slot 4: pcm playback right channel ................................................................................ 35 5.3.6. slot 5: modem line 1 output channel .............................................................................. 35 5.3.7. slot 6 - 11: dac ................................................................................................................. 35
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 3 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 5.3.8. slot 12: audio gpio control channel ............................................................................... 36 5.4. ac-link input frame (sdata_in) ................................................................................................. 36 5.4.1. slot 0: tag ........................................................................................................................ 37 5.4.2. slot 1: status address port / slotreq signalling bits ..................................................... 37 5.4.3. slot 2: status data port ..................................................................................................... 38 5.4.4. slot 3: pcm record left channel ..................................................................................... 38 5.4.5. slot 4: pcm record right channel ................................................................................... 38 5.4.6. slot 5: modem line 1 adc ................................................................................................ 38 5.4.7. slot 6 - 9: adc ................................................................................................................... 38 5.4.8. slots 7 & 8: vendor reserved ........................................................................................... 39 5.4.9. slot 10 & 11: adc ............................................................................................................. 39 5.4.10. slot 12: reserved ............................................................................................................ 39 5.5. ac-link interoperability requirements and recommendations ...................................................... 40 5.5.1. ?atomic slot? treatment of slot 1 address and slot 2 data ............................................... 40 5.6. slot assignments for audio ............................................................................................................. 41 6. STAC9752/9753 mixer .......................................................................................................... 43 7. mixer functional diagrams ........................................................................................ 44 7.1. analog mixer input ......................................................................................................................... 45 7.2. mixer analog output ....................................................................................................................... 45 7.3. spdif digital mux ........................................................................................................................... 45 7.4. pc beep implementation ................................................................................................................ 46 7.4.1. analog pc beep ................................................................................................................ 46 7.4.2. digital pc beep ................................................................................................................. 46 8. programming registers ............................................................................................... 47 8.1. register descriptions ...................................................................................................................... 48 8.1.1. reset (00h) ....................................................................................................................... 48 8.1.2. master volume registers (02h) ........................................................................................ 48 8.1.3. headphone volume registers (04h) ................................................................................. 49 8.1.4. master volume mono (06h) ............................................................................................ 50 8.1.5. pc beep volume (0ah) ................................................................................................... 51 8.1.6. phone volume (index 0ch) .............................................................................................. 51 8.1.7. mic volume (index 0eh) .................................................................................................... 52 8.1.8. linein volume (index 10h) ............................................................................................... 52 8.1.9. cd volume (index 12h) .................................................................................................... 53 8.1.10. video volume (index 14h) ............................................................................................. 53 8.1.11. aux volume (index 16h) ................................................................................................. 54 8.1.12. pcmout volume (index 18h) ......................................................................................... 54 8.1.13. record select (1ah) ....................................................................................................... 55 8.1.14. record gain (1ch) ......................................................................................................... 55 8.1.15. general purpose (20h) ................................................................................................... 56 8.1.16. 3d control (22h) ............................................................................................................. 56 8.1.17. audio interrupt and paging (24h) .................................................................................... 57 8.1.18. powerdown ctrl/stat (26h) .............................................................................................. 58 8.1.19. extended audio id (28h) ................................................................................................ 59 8.1.20. extended audio control/status (2ah) ............................................................................. 61 8.1.21. pcm dac rate registers (2ch and 32h) ...................................................................... 63 8.1.22. pcm dac rate (2ch) .................................................................................................... 63 8.1.23. pcm lr adc rate (32h) ............................................................................................... 63 8.1.24. spdif control (3ah) ........................................................................................................ 64 8.2. general purpose input & outputs ................................................................................................... 64 8.2.1. eapd ................................................................................................................................ . 64 8.2.2. gpio pin definitions .......................................................................................................... 65 8.2.3. gpio pin implementation .................................................................................................. 65 8.2.4. extended modem status and control register (3eh) ........................................................ 65 8.2.5. gpio pin configuration register (4ch) ............................................................................. 66
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 4 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.2.6. gpio pin polarity/type register (4eh) ............................................................................. 66 8.2.7. gpio pin sticky register (50h) ......................................................................................... 66 8.2.8. gpio pin mask register (52h) .......................................................................................... 67 8.2.9. gpio pin status register (54h) ........................................................................................ 67 8.3. extended codec registers page structure definition .................................................................. 68 8.3.1. extended registers page 00 ............................................................................................. 68 8.3.2. extended registers page 01 ............................................................................................. 68 8.3.3. extended registers page 02, 03 ....................................................................................... 68 8.4. STAC9752/9753 paging registers ................................................................................................. 69 8.4.1. codec class/rev (60h page 01h ) ............................................................................... 69 8.4.2. pci svid (62h page 01h ) ............................................................................................... 70 8.4.3. pci ssid (64h page 01h ) ............................................................................................... 70 8.4.4. function select (66h page 01h ) ...................................................................................... 71 8.4.5. function information (68h page 01h ) .............................................................................. 72 8.4.6. digital audio control (6ah, page 00h) ............................................................................... 73 8.4.7. sense details (6ah page 01h ) ........................................................................................ 74 8.4.8. revision code (6ch) ........................................................................................................ 76 8.4.9. analog special (6eh) ......................................................................................................... 76 8.4.10. analog current adjust (72h) ............................................................................................ 77 8.4.11. eapd access register (74h) .......................................................................................... 77 8.4.12. high pass filter bypass (78h) ........................................................................................ 78 8.5. vendor id1 and id2 (index 7ch and 7eh) ...................................................................................... 79 8.5.1. vendor id1 (7ch) ............................................................................................................. 79 8.5.2. vendor id2 (7eh) ............................................................................................................... 79 9. low power modes ........................................................................................................... 80 10. multiple codec support ............................................................................................ 82 10.1. primary/secondary codec selection .......................................................................................... 82 10.1.1. primary codec operation ............................................................................................ 82 10.1.2. secondary codec operation ........................................................................................ 82 10.2. secondary codec register access definitions .......................................................................... 83 11. testability ........................................................................................................................ 84 11.0.1. ate test mode ................................................................................................................ 84 12. pin description ................................................................................................................ 85 12.1. digital i/o ................................................................................................................................ ...... 86 12.2. analog i/o ................................................................................................................................ .... 87 12.3. filter/references .......................................................................................................................... 88 12.4. power and ground signals .......................................................................................................... 88 13. ordering information .................................................................................................. 89 14. package drawing ........................................................................................................... 89 15. 48-pin lqfp solder reflow profile ......................................................................... 90 15.1. standard reflow profile data ........................................................................................................ 90 15.2. pb free process - package classification reflow temperatures ................................................. 91 16. appendix a: programming registers ..................................................................... 92 17. revision history ............................................................................................................. 94
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 5 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing list of figures figure 1. block diagram ................................................................................................................................ . 8 figure 2. cold reset timing ......................................................................................................................... 16 figure 3. warm reset timing ....................................................................................................................... 16 figure 4. clocks timing ............................................................................................................................... 17 figure 5. data setup and hold timing ......................................................................................................... 18 figure 6. signal rise and fall times timing ................................................................................................ 18 figure 7. ac-link low power mode timing .............................................................................................. 19 figure 8. ate test mode timing ............................................................................................................... 19 figure 9. typical connection diagram .......................................................................................................... 20 figure 10. split independent power supply operation ................................................................................. 22 figure 11. ac-link to its companion controller ........................................................................................... 23 figure 12. codec clock source detection .................................................................................................. 24 figure 13. STAC9752/9753 powerdown timing .......................................................................................... 27 figure 14. bi-directional ac-link frame with slot assignments ................................................................... 29 figure 15. ac-link audio output frame ...................................................................................................... 33 figure 16. start of an audio output frame ................................................................................................... 33 figure 17. STAC9752/9753 audio input frame ........................................................................................... 36 figure 18. start of an audio input frame ...................................................................................................... 36 figure 19. bi-directional ac-link frame with slot assignments ................................................................... 41 figure 20. STAC9752 2-channel mixer functional diagram ........................................................................ 44 figure 21. stac9753 2-channel mixer functional diagram ....................................................................... 44 figure 22. example of STAC9752/9753 powerdown/powerup flow ........................................................... 80 figure 23. powerdown/powerup flow with analog still alive ......................................................................... 81 figure 24. pin description drawing ............................................................................................................... 85 figure 25. reflow profile .............................................................................................................................. 90
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 6 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing l ist of tables table 1. clock mode configuration ............................................................................................................... 17 table 2. common clocks and sources ......................................................................................................... 18 table 3. recommended codec id strapping ............................................................................................. 26 table 4. ac-link output slots (transmitted from the controller) ..................................................................... 29 table 5. the ac-link input slots (transmitted from the codec) .................................................................. 30 table 6. vra behavior ................................................................................................................................ .. 31 table 7. output slot 0 bit definitions ............................................................................................................ 34 table 8. command address port bit assignments ........................................................................................ 35 table 9. status address port bit assignments .............................................................................................. 37 table 10. status data port bit assignments .................................................................................................. 38 table 11. primary codec addressing: slot 0 tag bits ................................................................................ 40 table 12. secondary codec addressing: slot 0 tag bits ........................................................................... 40 table 13. ac-link slot definitions ................................................................................................................. 41 table 14. ac-link input slots dedicated to audio ....................................................................................... 41 table 15. audio interrupt slot definitions ...................................................................................................... 42 table 16. digital pc beep examples ............................................................................................................. 46 table 17. programming registers ................................................................................................................. 47 table 18. extended audio id register functions .......................................................................................... 60 table 19. amap compliant ............................................................................................................................ 63 table 20. hardware supported sample rates .............................................................................................. 63 table 21. supported jack and microphone sense functions ....................................................................... 71 table 22. reg 68h default values ................................................................................................................. 73 table 23. gain or attenuation examples ....................................................................................................... 73 table 24. register 68h/page 01h bit overview ............................................................................................. 73 table 25. sensed bits (outputs) ................................................................................................................... 75 table 26. sensed bits (inputs) ...................................................................................................................... 75 table 27. low power modes ......................................................................................................................... 80 table 28. codec id selection ..................................................................................................................... 82 table 29. secondary codec register access slot 0 bit definitions ........................................................... 83 table 30. test mode activation ..................................................................................................................... 84 table 31. ate test mode operation ............................................................................................................. 84 table 32. digital connection signals ............................................................................................................. 86 table 33. analog connection signals ........................................................................................................... 87 table 34. filtering and voltage references .................................................................................................. 88 table 35. power and ground signals ............................................................................................................ 88
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 7 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 1. product brief 1.1. description idt's STAC9752/9753 a re general purpose 20-bit, full duplex, audio codecs conforming to the analog component specification of ac '97 (audio codec 97 component specification rev. 2.3 ). the STAC9752/9753 incorporate idt's proprietary sd technology to achieve a dac snr in excess of 90db. the dacs, adcs and mixer are integrated with analog i/os, which include four analog line-level stereo inputs, two analog line-level mono inputs, two stereo outputs, and one mono output channel. the STAC9752/9753 include digital o utput capability for support of modern pc systems with an output that supports the spdif format. the STAC9752/9753 are standard 2-channel stereo codec s . with idt?s headphone capability, headphones can be driven without an external amplifier. the STAC9752/9753 may be used as a secondary or tertiary codec s , with stac9700/21/44/56/ 08/84/50/66 as the primary, in a multiple codec configuration conforming to the ac'97 rev. 2.3 specification . this configuration can provide the true six-channel, ac-3 playback required for dvd applications. the STAC9752/9753 communicate via the five ac-link lines to any digital component of ac '97, providing flexibility in the audio system design. packaged in an ac '97 compliant 48-pin tqfp, the STAC9752/9753 can be placed on the motherboard, daughter boards, pci, amr, cnr, mdc or acr cards. the STAC9752/9753 block diagram is illustrated in figure 1. the STAC9752/9753 provides variable sample rate digital-to-analog (da) and analog-to-digital (ad) conversion, mixing, and analog pro- cessing. supported audio sample rates include 48 khz , 44.1 khz , 32 khz , 22.05 khz , 16 khz , 11.025 khz , and 8 khz ; additional rates are supported in the STAC9752/9753 soft audio drivers. all adcs and dacs operate at 20-bit resolution. two 20-bit dacs convert the digital stereo pcm_out content to audio. the mixer block combines the pcm_out with any analog sources, to drive the line_out and hp_out outputs. the mono_out delivers either microphone only, or a mono mix of sources from the mixer. the stereo variable - sample - rate 20-bit adcs provide record capability for any mix of mono or stereo sources, and deliver a digital stereo pcm-in signal back to the ac-link . the microphone input and mono mix input can be recorded simultaneously, thus allowing for an all digital output in support of the digital ready initiative. for a digital ready record path, the microphone is connected to the left channel adc while the mono output of the stereo mixer is connected to right channel adc. the STAC9752/9753 include jack sensing on the headphone and line_out. the STAC9752/9753 jack sense can detect the presence of devices on the headphone and line outputs and on both microphone inputs. with proprietary idt current and impedance-sensing techniques, the impedance load on the headphone and line outputs can also be detected. the gpios on the STAC9752/9753 remain available for advanced configurations. the STAC9752/9753 implementation of jack sense uses the extended paging registers defined by the ac'97 2.3 specification. this allows for additional registry space to hold the identification infor- mation about the codec, the jack sensing details and results, and the external surroundings of the codec. the information within the extended paging registers will allow for the automatic configu- ration of the audio subsystem without end-user intervention. for example, the bios can populate the extended paging registers with valuable information for both the audio driver and the operating system such as gain and attenuation stages, input population and input phase. with this input infor- mation, the idt driver will automatically provide to the volume control panel only the volume sliders that are implemented in the system, thus improving the end-user's experience with the pc. the information in the extended paging registers will also allow for automatic configuration of microphone inputs, the ability to switch between spdif and analog outputs, the routing of the mas-
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 8 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing ter volume slider to the proper physical output, and softeq configurations. the fully parametric idt softeq can be initiated upon jack insertion and sensed impedance levels. the STAC9752/9753 also offers 2 styles of pc beep; analog and digital. the digital pc beep is a new feature added to the ac?97 specification rev 2.3. the STAC9752/9753 is designed primarily to support stereo (2-speaker) audio. true ac-3 playback can be achieved for 6-speaker applications by taking advantage of the multi-codec option avail- able in the STAC9752/9753 to support multiple codecs in an ac'97 architecture. additionally, the STAC9752/9753 provides for a stereo enhancement feature, idt surround 3d (ss3d). ss 3d pro- vides the listener with several options for improved speaker separation beyond the normal two- or four- speaker arrangements. the STAC9752/9753 can be soundblaster ? and windows sound system ? compatible when used with idt?s wdm driver for windows 98/2k/me/xp or with intel/microsoft driver included with win- dows 2k/me/xp. soundblaster is a registered trademark of creative labs. windows is a registered trademark of microsoft corporation . 1.2. STAC9752/9753 block diagram figure 1. block diagram 1.3. key specifications ? analog line_out snr: 90 db ? STAC9752 dac snr: 8 9 d b ? stac9753 dac snr: 8 4d b ? STAC9752 adc snr: 90 d b ? stac9753 adc snr: 88 d b ? crosstalk between input channels: -70 db ? spurious tone rejection: 100 db hp_out ac-link digital interface registers 64x16 bits sync bit_clk sdata_out sdata_in reset# power management dac dac adc adc pcm out dacs pcm in adcs 4 stereo sources 2 mono sources mono_out mic boost 0,10,20 or 30 db mic1 stereo mono mixer analog mixing and gain control m u x mic2 line_out multi-codec cid0 cid1 spdif variable sample rate 20-bit dacs and 20-bit adcs eapd gpio0 gpio1
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 9 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 1.4. related materials ? product brief ? reference designs for mb, amr, cnr, and acr applications ? audio precision performance plots 1.5. additional support additional product and company information can be obtained by going to the idt web site.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 10 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 2. characteristics and s pecifications 2.1. electrical specifications 2.1.1. absolute maximum ratings stresses above the ratings listed below can cause permanent damage to the STAC9752/9753. these ratings, which are standard values for idt commercially rated parts, are stress ratings only. functional operation of the device at these or any other conditions above those indicated in the operational sections of the specifications is not implied. exposure to absolute maximum rating conditions for extended periods can affect product reliability. electrical parameters are guaranteed only over the recommended operating temperature range. 2.1.2. recommended operation conditions item pin maximum rating analog maximum supply voltage avdd 6 volts digital maximum supply voltage dvdd 5.5 volts v refout output current 5 ma voltage on any pin relative to ground vss - 0.3 v to vdd + 0.3 v operating temperature 0 o c to +70 o c storage temperature -55 o c to +125 o c soldering temperature 260 o c for 10 seconds * soldering temperature information for all available packages begins on page 90 . parameter min. typ. max. units power supply voltage digital - 3.3 v 3.135 3.3 3.465 v analog - 5 v 4.75 5 5.25 v analog - 3.3 v 3.135 3.3 3.465 v ambient operating temperature 0 +70 c case temperature t case (48-lqfp) +90 c esd: the STAC9752/9753 is an esd (electrostatic discharge) sensitive device. the human body and test equipment can accumulate and discharge electrostatic charges up to 4000 volts without detection. even though the STAC9752/9753 implements internal esd protection circuitry, proper esd precautions should be followed to avoid damaging the functionality or performance.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 11 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 2.1.3. power consumption parameter min typ max unit digital supply current + 3.3v digital - 30 - ma analog supply current (at reset state) + 5v analog - 35 - ma + 3.3v analog - 35 - ma power down status (individually asserted) - all pr measurements taken while unmuted. all paths unmuted +5v analog supply current +3.3v analog supply current +3.3v digital supply current - 50 44 33 - ma pr0 +5v analog supply current +3.3v analog supply current +3.3v digital supply current - 42 39 22 - ma pr1 +5v analog supply current +3.3v analog supply current +3.3v digital supply current - 41 38 28 - ma pr2 +5v analog supply current +3.3v analog supply current +3.3v digital supply current - 32 29 12 - ma pr3 +5v analog supply current +3.3v analog supply current +3.3v digital supply current - 23 19 12 - ma pr4 +5v analog supply current +3.3v analog supply current +3.3v digital supply current - 50 44 0.2 - ma pr5 +5v analog supply current +3.3v analog supply current +3.3v digital supply current - 50 44 12 - ma pr6 +5v analog supply current +3.3v analog supply current +3.3v digital supply current - 38 36 33 - ma pr0 & pr1 +5v analog supply current +3.3v analog supply current +3.3v digital supply current - 35 35 12 - ma pr0, pr1, pr2, pr6 +5v analog supply current +3.3v analog supply current +3.3v digital supply current - 5 5 12 - ma pr0, pr1, pr2, pr3, pr6 +5v analog supply current +3.3v analog supply current +3.3v digital supply current - 0.6 0.6 12 - ma
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 12 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 2.1.4. ac-link static digital specifications (t ambient = 25 oc, dvdd = 3.3v 5%, avss=dvss=0v) note: due to an internal pulldown resistor, the bit_clk pin will exhibit less than 100 m a of leakage current when the codec is configured as primary. this pin meets the +/- 10 m a leakage specification when configured as secondary. 2.1.5. STAC9752 5 v analog performance characteristics (t ambient = 25 oc, avdd = 5.0 v 5%, dvdd = 3.3 v 5%, avss=dvss=0 v; 1 khz input sine wave; sample frequency = 48 khz ; 0 db = 1 vrms, with a 10 k w , 50 pf load, testbench characterization bw: 20 hz to 20 khz , 0 db settings on all gain stages) parameter symbol min typ max unit input voltage range vin -0.30 - dvdd + 0.30 v low level input range vil - - 0.35 x dvdd v high level input voltage vih 0.65 x dvdd - - v high level output voltage voh 0.90 x dvdd - - v low level output voltage vol - - 0.1 x dvdd v input leakage current (ac-link inputs) - -10 - 10 m a output leakage current (hi-z ac-link outputs) - -10 - 10 m a bit_clk (primary mode) output leakage current - -10 - 100 m a bit_clk (secondary mode) output leakage current - -10 - 10 m a output buffer drive current - - 4 - ma bit_clk/spdif output drive current - - 18 - ma parameter min typ max unit full scale input voltage: all analog inputs except microphone - 1.00 - vrms microphone inputs (note 1) - 0.03 - vrms full scale output: line output - 1.00 - vrms pcm (dac) to line_out - 1.00 - vrms mono_out - 1.00 - vrms headphone_out (32 w load) per channel (peak) - 50 - mw dynamic range: -60db signal level (note 2) cd to line_out - 90 - db line / aux / video to line_out - 90 - db pcm (dac) to line_out 80 87 - db pcm (dac) in bypass mode to line_out - 88 - db line_in to a/d (1 vrms input referenced) 80 90 - db line_in to headphone_out - 90 - db analog frequency response (note 3) 10 - 30,000 hz total harmonic distortion + noise (-3db): (note 4) cd to line_out - -85 - db other to line_out - - 87 - db pcm (dac) to line_out (full scale) - - 83 - db pcm (dac) in bypass mode to line_out - -86 - db line_in to a/d (-3dbv input level) - - 85 - db
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 13 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing note: 1. with +30db boost on, 1. 00 v rms with boost of f . 2. ratio of full scale signal to noise output with -60db signal, measured ?a-weighted? over a 20 hz to a 20 khz bandwidth. 3. 1db limits for line output & 0 db gain, at -20dbv 4. ratio of full scale signal to thd+n output with -3db signal, measured ?a-weighted? over a 20 hz to a 20 khz bandwidth. 48 khz sample frequency 5. ratio of full scale signal to idle channel noise output is measured ?a-weighted? over a 20 hz to a 20 khz bandwidth. (aes17-1991 idle channel noise or eiaj cp-307 signal-to-noise ratio). headphone_out ( 3 2 w load ) - -68 - db headphone_out (10 k w load) - -81 - db snr (idle channel) (note 5) dac to line_out 80 90 - db dac in bypass mode - 92 - db line / aux / video to line_out - 90 - db line_in to a/d with high pass filter enabled - 92 - db a/d & d/a digital filter pass band (note 6) 20 - 19,200 hz a/d & d/a digital filter transition band 19,200 - 28,800 hz a/d & d/a digital filter stop band 28,800 - - hz a/d & d/a digital filter stop band rejection (note 7) -100 - - db dac out-of-band rejection (note 8) -55 - - db group delay (48 khz sample rate) - - 1 ms power supply rejection ratio (1 khz) - -70 - db power supply rejection ratio (20 khz) - -40 - db any analog input to line_out crosstalk (10 khz signal frequency) - - 80 - db any analog input to line_out crosstalk (1 khz signal frequency) - - 100 - db spurious tone rejection - -100 - db attenuation, gain step size - 1.5 - db input impedance - 50 - k w input capacitance - 15 - pf vrefout - 0.5 x avdd - v vref - 0.45x avdd - v interchannel gain mismatch adc - - 0.5 db interchannel gain mismatch dac - - 0.5 db gain drift - 100 - ppm/oc dac offset voltage - 10 20 mv deviation from linear phase - - 1 degrees line_out / mono_out load resistance 10 - - k w line_out / mono_out load capacitance - - 50 pf headphone_out load resistance - 32 - w headphone_out load capacitance - - 100 pf mute attenuation 90 96 - db pll lock time - 100 200 m sec pll 24.576 mhz clock jitter - - 750 psec pll frequency multiplication tolerance - - 12.5 ppm pll bit clock jitter - - 750 psec parameter min typ max unit
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 14 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 6. peak-to-peak ripple over passband meets 0.25db limits, 48 khz sample frequency . 7. stop band rejection determines filter requirements. out-of-band rejection determines audible noise. 8. the integrated out-of-band noise generated by the dac process, during normal pcm audio playback, over a bandwidth 28.8 to 100 khz , with respect to a 1 vrms dac output. 2.1.6. stac9753 3.3v analog performance characteristics (t ambient = 25 oc, avdd = dvdd = 3.3 v 5%, avss=dvss=0 v; 1 khz input sine wave; sample fre- quency = 48 khz ; 0 db = 1 vrms , with a 10 k w, 50 pf load, testbench characterization bw: 20 hz to 20 khz , 0 db settings on all gain stages) parameter min typ max unit full scale input voltage: all analog inputs except microphone - 1.00 - vrms microphone inputs (note 1) - 0.03 - vrms full scale output: line output - 0.5 - vrms pcm (dac) to line_out - 0.5 - vrms mono_out - 0.5 - vrms headphone_out (32 w load) per channel (peak) - 12.5 - mw dynamic range: -60db signal level (note 2) cd to line_out - 85 - db line / aux / video to line_out - 85 - db pcm (dac) to line_out 75 82 - db pcm (dac) in bypass mode to line_out - 83 - db line_in to a/d 75 85 - db line_in to headphone_out - 85 - db analog frequency response (note 3) 10 - 30,000 hz total harmonic distortion + noise (-3db): (note 4) cd to line_out - -85 - db line / aux / video to line_out - -85 - db pcm (dac) to line_out (full scale) - -81 - db pcm (dac) in bypass mode to line_out - -84 - db line_in to a/d (-3dbv input level) - -85 - db headphone_out (32 w load) - -68 - db headphone_out (10 k w load) - -77 - db snr (idle channel) (note 5) dac to line_out 75 85 - db dac in bypass mode - 87 - db line / aux / video to line_out - 86 - db line_in to a/d with high pass filter enabled - 88 - db a/d & d/a digital filter pass band (note 6) 20 - 19,200 hz a/d & d/a digital filter transition band 19,200 - 28,800 hz a/d & d/a digital filter stop band 28,800 - - hz a/d & d/a digital filter stop band rejection (note 7) -100 - - db dac out-of-band rejection (note 8) -55 - - db group delay (48 khz sample rate) - - 1 ms power supply rejection ratio (1 khz) - -70 - db
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 15 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing note: 1. with +30 db boost on, 1.00 vrms with boost off . 2. ratio of full scale signal to noise output with -60db signal, measured ?a-weighted? over a 20 hz to a 20 khz bandwidth. 3. 1db limits for line output & 0 db gain, at -20dbv 4. ratio of full scale signal to thd+n output with -3db signal, measured ?a-weighted? over a 20 hz to a 20 khz bandwidth. 48 khz sample frequency 5. ratio of full scale signal to idle channel noise output is measured ?a-weighted? over a 20 hz to a 20 khz bandwidth. (aes17-1991 idle channel noise or eiaj cp-307 signal-to-noise ratio). 6. peak-to-peak ripple over passband meets 0.25db limits, 48 khz sample frequency. 7. stop band rejection determines filter requirements. out-of-band rejection determines audible noise. 8. the integrated out-of-band noise generated by the dac process, during normal pcm audio playback, over a bandwidth 28.8 to 100 khz, with respect to a 1 vrms dac output. power supply rejection ratio (20 khz) - -40 - db any analog input to line_out crosstalk (10 khz signal frequency) - -80 - db any analog input to line_out crosstalk (1 khz signal frequency) - -100 - db spurious tone rejection - -100 - db attenuation, gain step size - 1.5 - db input impedance - 50 - k w input capacitance - 15 - pf vrefout - 0.5 x avdd - v vref - 0.41x avdd - v interchannel gain mismatch adc - - 0.5 db interchannel gain mismatch dac - - 0.5 db gain drift - 100 - ppm/oc dac offset voltage - 10 20 mv deviation from linear phase - - 1 degrees line_out/mono_out load resistance 10 - - k w line_out/mono_out load capacitance - - 50 pf headphone_out load resistance - 32 - w headphone_out load capacitance - - 100 pf mute attenuation - 96 - db pll lock time - 100 200 m sec pll 24.576 mhz clock jitter - - 750 psec pll frequency multiplication tolerance - - 12.5 ppm parameter min typ max unit
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 16 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 2.2. ac timing characteristics (t ambient = 25 c, avdd = 3.3 v or 5 v 5%, dvdd = 3.3 v 5%, avss=dvss=0 v; 75 p f external load for bit_clk and 60 pf external load for sdata_in) 2.2.1. cold reset figure 2. cold reset timing note: bit_clk and sdata_in are in a high impedance state during reset. 2.2.2. warm reset figure 3. warm reset timing parameter symbol min typ max units reset# active low pulse width tres_low 1.0 - - m s reset# inactive to sdata_in or bit_clk active delay tri2actv - - 25 ns reset# inactive to bit_clk startup delay trst2clk 0.01628 - 400 m s bit_clk active to reset# asserted (not shown in diagram) tclk2rst 0.416 - - m s parameter symbol min typ max units sync active high pulse width tsync_high 1.0 1.3 - m s sync inactive to bit_clk startup delay tsync2clk 162.8 - - ns tres_low trst2clk reset# bit_clk sdata_in ttri2actv ttri2actv tsync_high tsync_2clk sync bit_clk
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 17 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 2.2.3. clocks figure 4. clocks timing 2.2.4. STAC9752/9753 crystal elimination circuit and clock frequencies the STAC9752/9753 supports several clock frequency inputs as described in the following table. in general, when a 24.576 mhz crys tal is not used, the xtalout pin should be tied to ground. this short to ground configures the part into an alternate clock mode and enables an on board pl l. codec modes: p = the STAC9752/9753 as a primary codec. s = the STAC9752/9753 as a secondary codec. parameter symbol min typ max units bit_clk frequency - 12.288 - mhz bit_clk period tclk_period - 81.4 - ns bit_clk output jitter - 750 - ps blt_clk high pulse width (note 1) tclk_high 36 40.7 45 ns bit_clk low pulse width (note 1) tclk_low 36 40.7 45 ns sync frequency - 48.0 - khz sync period tsync_period - 20.8 - m s sync high pulse width tsync_high - 1.3 - m s sync low pulse width tsync_low - 19.5 - m s note: 1. worst case duty cycle restricted to 45/55. table 1. clock mode configuration xtl_out pin config cid1 pin config cid0 pin config clock source input codec mode codec id xtal float float 24.576 mhz xtal p 0 xtal or open float pulldown 12.288 mhz bit clk s 1 xtal or open pulldown float 12.288 mhz bit clk s 2 xtal or open pulldown pulldown 12.288 mhz bit clk s 3 short to ground float float 14.31818 mhz source p 0 short to ground float pulldown 27 mhz source p 0 short to ground pulldown float 48 mhz source p 0 short to ground pulldown pulldown 24.576 mhz source p 0 sync bit_clk tclk_high tclk_low tclk_period tsync_high tsync_period tsync_low
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 18 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 2.2.5. data setup and hold ( 50 p f external load) figure 5. data setup and hold timing 2.2.6. signal rise and fall times (bit_clk: 75 pf external load; from 10% to 90% of vdd) (sdata_in: 60 pf external load; from 10% to 90% of vdd) figure 6. signal rise and fall times timing table 2. common clocks and sources clock source clock frequency xtal 24.576 mhz bit_clk 12.288 mhz vga 14.31818 mhz digital video 27 mhz usb 48 mhz parameter symbol min typ max units setup to falling edge of bit_clk t setup 10 - - ns hold from falling edge of bit_clk t hold 10 - - ns output valid data from rising edge of bit_clk tco - - 15 ns note: setup and hold time parameters for sdata_in are with respect to the ac'97 controller. parameter symbol min typ max units bit_clk rise time triseclk - - 6 ns bit_clk fall time tfallclk - - 6 ns sdata_in rise time trisedin - - 6 ns sdata_in fall time tfalldin - - 6 ns bit_clk t hold t setup sdata_out sdata_in sync tco v ih v il v oh v ol bit_clk sdata_in tfallclk triseclk trisedin tfalldin
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 19 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 2.2.7. ac-link low power mode timing figure 7. ac-link low power mode timing 2.2.8. ate test mode figure 8. ate test mode timing note: 1. all ac-link signals are normally low through the trailing edge of reset#. bringing sdata_out high for the trailing edge of reset# c auses the STAC9752/9753 ac-link outputs to go high-impedance which is suitable for ate in circuit testing. 2. once the test mode has been entered, the STAC9752/9753 must be issued anoth er reset# with all ac-link signals low to return to the normal operating mode. 3. the pound sign ( # ) appended to the end of a signal name denotes that the signal is active low. parameter symbol min typ max units end of slot 2 to bit_clk, sdata_in low ts2_pdown - - 1.0 m s parameter symbol min typ max units setup to trailing edge of reset# (also applies to sync) tsetup2rst 15.0 - - ns rising edge of reset# to hi-z delay toff - - 25.0 ns bit_clk sdata_in note: bit_clk not to scale ts2_pdown don't care data pr4 write to 0x20 slot 2 slot 1 sdata_out sync tsetup2rst hi-z toff reset# sdata_out sdata_in, bit_clk
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 20 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 3. typical connection diagram figure 9. typical connection diagram note: pin 48: to enable spdif, use an 1 k w to10 k w external pulldown. to disable spdif, use an 1 k w to10 k w external pullup. do not leave pin 48 floating. note: the cd_gnd signal is an ac signal return for the two cd input channels. it is normally biased at about 2.5 v. the name of the pin in the ac?97 specification is cd_gnd, and this has confused many designers. it should not have any dc path to gnd. connecting the cd_gnd signal directly to ground will change the internal bias of the entire codec, and cause serious distortion. if there is no analog cd input, then this pin can be no-connect. 0.1 f 1 f 0.1 f 0.1 f 1 f 0.1 f 2 w * ferrite bead 3.3v 5% avdd1 avdd2 dvdd1 dvdd2 xtl_in xtl_out 9 2 3 27 pf 27 pf 24.576 mhz 1 38 25 pc_beep 12 phone 13 aux_l 14 aux_r 15 video_l 16 video_r 17 cd_l 18 cd_gnd 19 cd_r 20 mic1 21 mic2 22 line_in_l 23 line_in_r 41 cap2 32 *optional 0.1 f 1 f* 820 pf 29 30 afilt1 afilt2 820 pf avss1 avss2 26 42 4 7 dvss1 dvss2 hp_out_r *terminate ground plane as close to codec as possible analog ground digital ground hp_out_l 39 37 mono_out 36 line_out_r 35 line_out_l 43 gpio0 44 gpio1 40 hp_comm 48 spdif 34 nc 33 nc 31 nc 1 f 27 vref vrefout eapd cid1 cid0 28 47 46 45 11 reset# 10 sync 24 sdata_in bit_clk sdata_out 5 6 8 stac9753 *optional 27 pf 22 w emi filter tune to layout hp_comm should be tied to ground at the headphone pin. clock_in* *add resistive divider when using 5v clock. (near clk source) 0 w optional
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 21 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 3.1. split independent power supply operation in pc applications, one power supply input to the STAC9752/9753 may be derived from a supply regulator and the other directly from the pci power supply bus. when power is applied to the pc, the regulated supply input to the ic will be applied some time delay after the pci power supply. without proper on-chip partitioning of the analog and digital circuitry, some manufacturer's codecs would be subject to on-chip scr type latch-up. idt?s STAC9752/9753 specifically allows power-up sequencing delays between the analog (avddx) and digital (vdddx) supply pins. these two power supplies can power-up independently and at dif- ferent rates with no adverse effects to the codec. the ic is designed with independent analog and digital circuitry that prevents on-chip scr type latch-up. however, the STAC9752/9753 is not designed to operate for extended periods with only the analog supply active.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 22 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing figure 10. split independent power supply operation note: pin 48: to enable spdif, use an 1 k w to 10 k w external pulldown resistor. to disable spdif, use an 1 k w to 10 k w external pullup resistor. do not leave pin 48 floating. 0.1 f 1 f 0.1 f 0.1 f 10 f 0.1 f *suggested avdd1 avdd2 dvdd1 dvdd2 xtl_in xtl_out 9 1 38 25 pc_beep 12 phone 13 aux_l 14 aux_r 15 video_l 16 video_r 17 cd_l 18 cd_gnd 19 cd_r 20 mic1 21 mic2 22 line_in_l 23 line_in_r 41 820 pf 29 30 820 pf avss1 avss2 26 42 4 7 dvss1 dvss2 hp_out_r *terminate ground plane as close to codec as possible analog ground digital ground hp_out_l 39 37 mono_out 36 line_out_r 35 line_out_l 43 44 40 48 34 33 31 27 vrefout eapd cid1 cid0 28 47 46 45 11 reset# 10 sync 24 bit_clk sdata_out 5 6 8 27 pf 22 w emi filter 3.3v 5% 3.3v or 5v 5% tune to layout cap2 afilt1 afilt2 gpio0 gpio1 hp_comm spdif nc nc nc vref sdata_in STAC9752 (5v analog) or stac9753 (3.3v analog) 1 f hp_comm should be tied to ground at the headphone pin. 32 *optional 0.1 f 1 f* 27 pf 27 pf 24.576 mhz clock_in* *add resistive divider when using 5v clock. (near clk source) 0 w optional
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 23 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 4. controller, codec and ac-link this section describes the physical and high-level functional aspects of the ac ?97 controller to codec interface, referred to as ac-link . 4.1. ac-link physical interface the STAC9752/9753 communicates with its companion digital controller via the ac-link digital serial interface. ac-link has been defined to support connections between a single controller and up to four codecs. all digital audio, modem and handset data streams, as well as all control (com- mand/status) information are communicated over this serial interconnect, which consists of a clock (bit_clk), frame synchronization (sync), serial data in (sdata_in), serial data out (sdata_out) and a reset (reset#). 4.2. controller to single codec the simplest and most common ac ?97 system configuration is a point-to-point ac-link connection between controller and the STAC9752/9753 , as illustrated in figure 11 . figure 11. ac-link to its companion controller a primary codec may act as either a source or a consumer of the bit clock (bit_clk) , depending on the configuration. while reset# is asserted, if a clock is present at the bit_clk pin for at least five cycles before reset# is de-asserted, then the codec is a consumer of bit_clk, and must not drive bit_clk when reset# is de-asserted. the clock is being provided by other than the primary codec, for instance by the controller or an independent clock chip. in this case the primary codec must act as a consumer of the bit_clk signal as if it were a secondary codec. this clock source detection must be done each time the reset# line is asserted. in the case of a warm reset, where the clock is halted but reset# is not asserted, the codec must remember the clock source, and not begin generating the clock on the assertion of sync , if the codec had previ- ously determined that it was a consumer of bit_clk . sync digital dc'97 controller ac'97 codec bit_clk sdata_out sdata_in reset# xtal_in xtal_out
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 24 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing figure 12. codec clock source detection the STAC9752/9753 uses the xtal_out pin (pin 3) and the cid0 and cid1 pins (pins 45 & 46) to determine its alternate clock frequencies. see section 2.2.4: page17 for additional information on crystal elimination and for supported clock frequencies. if, when the reset# signal has been de-asserted, the codec has not detected a signal on bit_clk as defined in the previous paragraph , then the ac ?97 codec derives its clock internally from an externally attached 24.576 mhz crystal or oscillator, or optionally from an external 14.31 mhz oscillator, and drives a buffered 12.288 mhz clock to its digital companion controller over ac-link under the signal name ?bit_clk?. clock jitter at the dacs and adcs is a fundamental impediment to high quality output, and the internally generated clock will provide ac ?97 with a clean clock that is independent of the physical proximity of ac ?97?s companion digital controller (hence- forth referred to as ?the controller?). if bit_clk begins toggling while the reset# signal is still asserted, the clock is being provided by other than the primary codec, for instance by the controller or by a discrete clock source. in this case, the primary codec must act as a consumer of the bit_clk signal as if it were a secondary codec. the beginning of all audio sample packets, or audio frames, transferred over ac-link is synchro- nized to the rising edge of the sync signal. sync is driven by the controller. the controller gener- ac'97 clock source detection reset# signal asserted bit_clk toggling? 12.288mhz signal on bit_clk is being generated externally; codec uses this signal as the clock. yes no after reset# signal deasserted 24.576mhz crystal present? 24.576mhz crystal on xtl_in and xtl_out used by codec to generate clock on bit_clk yes 24.576mhz oscillator present? no 24.576 mhz signal on xtl_in used by codec to generate 12.288mhz clock on bit_clk yes 14.318mhz oscillator presnent? no 14.318 mhz signal on xtl_in used by codec to generate 12.288mhz clock on bit_clk yes error condition - no clock source present no
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 25 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing ates sync by dividing bit_clk by 256 and applying some conditioning to tailor its duty cycle. this yields a 48 khz sync signal whose period defines an audio frame. data is transitioned on ac-link on every rising edge of bit_clk, and subsequently sampled by the receiving device on the receiv- ing side of ac-link on each immediately following falling edge of bit_clk. 4.3. controller to multiple codecs several vendor specific methods of supporting multiple codec configurations on ac-link have been implemented or proposed, including codecs with selective ac-link pass-through and con- trollers with duplicate ac-link s . potential implementations include: ? 6-channel audio using 3 x 2-channel codecs ? separate codecs for independent audio and modem afe ? docking stations, where one codec is in the laptop and another is in the dock this specification defines support for up to four codecs on the ac-link . by definition there can be one primary codec (id 00) and up to three secondary codecs (ids 01,10, and 11). the codec id functions as a chip select. secondary devices therefore have completely orthogonal register sets; each is individually accessible and they do not share registers. multiple codec ac-link implementations must run off a common bit_clk. they can potentially save controller pins by sharing sync, sdata_out, and reset# from the ac ?97 digital control- ler. each device requires its own sdata_in pin back to the controller. this prevents contention of multiple devices on one serial input line. support for multiple codec operation necessitates a specially designed controller. an ac ?97 digi- tal controller that supports multiple codec configurations implements multiple sdata_in inputs, supporting one primary codec and up to three secondary codecs. 4.3.1. primary codec addressing primary ac ?97 codecs respond to register read and write commands directed to codec id 00 (see section 10 for details of the primary and secondary codec addressing protocols). primary devices must be configurable (by hardwiring, strap pin(s), or other methods) as codec id 00, and reflect this in the two-bit codec id field(s) of the extended audio and/or extended modem id reg- ister(s). the primary codec may either drive the bit_clk signal or consume a bit_clk signal provided by the digital controller or other clock generator. 4.3.2. secondary codec addressing secondary ac ?97 codecs respond to register read and write commands directed to codec ids 01, 10, or 11. secondary devices must be configurable (via hardwiring, strap pin(s), or other meth- ods) as codec ids 01, 10, or 11 in the two-bit field(s) of the extended audio and/or extended modem id register(s). codecs configured as secondary must power up with the bit_clk pin configured as an input. using the provided bit_clk signal is necessary to ensure that everything on the ac-link is syn- chronous. bit_clk is the clock source (multiplied by 2 so that the internal rate is 24.576 mhz).
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 26 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 4.3.3. codec id strapping audio codecs in the 48-pin package use pins 45 and 46 (defined as id0# and id1#) as strapping (i.e. configuration) pins to configure the codec id. the id0# and id1# strapping bits adopt inverted polarity and default to 00 = primary (via a weak internal pullup) when left floating. this eliminates the need for external resistors for codecs configured as primary, and maintains backward compatibil- ity with existing layouts that treat pins 45 and 46 as ?no connect? or cap to ground. pulldowns are typically 0-10 k w and connected to digital (not analog) ground. table 3. recommended codec id strapping 4.4. clocking for multiple codec implementations to keep the system synchronous, all primary and secondary codec clocking must be derived from the same clock source, so all codecs are operating on the same time base. in addition, all ac-link protocol timing must be based on the bit_clk signal, to ensure that everything on the ac-link will be synchronous. the following are potential 24.576 mhz clock options available to a secondary codec: ? using a n e xternal 24.576 mhz signal source (external oscillator or ac ?97 digital controller) . ? using the primary?s xtal_out. ? using the primary?s bit_clk output to derive 24.576 mhz . see section 2.2.4: page17 for supported clock frequencies and configurations. 4.5. STAC9752/9753 as a primary codec primary devices are required to support correctly any of the following clocking options: ? 24.576 mhz crystal attached to xtal_in and xtal_out . ? 24.576 mhz external oscillator provided to xtal_in . ? 12.288 mhz oscillator provided to the bit_clk input . the primary device may also , optionally , support the following clocking option: ? 14.318 mhz external oscillator provided to xtal_in . see section 2.2.4: page17 for supported clock frequencies and configurations. 4.5.1. STAC9752/9753 as a secondary codec secondary devices are required to function correctly using one or more of the following clocking options: ? 2 4.576 mhz external oscillator provided to xtal_in (synchronous and in phase with primary 24.576 mhz clock) . ? bit_clk input provided by the primary. in this mode, a clock at xtal_in (pin 2) is ignored. see section 2.2.4: page17 for supported clock frequencies and configurations. cid1 (pin 46) cid0 (pin 45) configuration nc nc primary id = 00 nc pulldown secondary id = 01 pulldown nc secondary id = 10 pulldown pulldown secondary id = 11
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 27 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 4.6. ac-link power management 4.6.1. powering down the ac-link the ac-link signals can be placed in a low power mode. when the ac ?97?s powerdown register (26h) is programmed to the appropriate value, both bit_clk and sdata_in are brought to and held at a logic low voltage level. after signaling a reset to ac ?97, the ac ?97 controller should not attempt to play or capture audio data until it has sampled a codec ready indication from ac ?97. figure 13. STAC9752/9753 powerdown timing bit_clk and sdata_in are transitioned low immediately following decode of the write to the pow- erdown register (26h) with pr4. when the ac ?97 controller driver is at the point where it is ready to program the ac-link into its low power mode, slots 1 and 2 are assumed to be the only valid stream in the audio output frame. after programming the ac ?97 device to this low power, halted mode, the ac ?97 controller is required to drive and keep sync and sdata_out low. once the ac ?97 codec has been instructed to halt bit_clk, a special ?wake-up? protocol must be used to bring the ac-link to the active mode since normal audio output and input frames can not be communicated in the absence of bit_clk. 4.6.2. waking up the ac-link there are two methods for bringing the ac-link out of a low power, halted mode. regardless of the method, it is the ac ?97 controller that performs the wake-up task. 4.6.2.1. controller initiates wake-up the ac-link protocol provides for a ?cold ac ?97 reset?, and a ?warm ac ?97 reset?. the current powerdown state ultimately dictate s which form of ac ?97 reset is appropriate. unless a ?cold? or ?register? reset (a write to the reset register) is performed, wherein the ac ?97 registers are initial- ized to their default values, registers are required to keep state during all powerdown modes. once powered down, re-activation of the ac-link via re-assertion of the sync signal must not occur for a minimum of four audio frame times following the frame in which the powerdown was triggered. when ac-link powers up , the codec i ndicates readiness via the codec ready bit (input slot 0, bit 15). sync bit_clk sdata_out note: bit_clk not to scale sdata_in tag write to 0x20 slot 2 per frame data pr4 tag slot 2 per frame
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 28 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 4.6.2.2. codec initiates wake-up the STAC9752/9753 (running off vaux) can trigger a wake event (pme#) by transitioning sdata_in from low to high and holding it high until either a warm or cold reset is observed on the ac-link . this functionality is typically implemented in modem codecs that detect ring, caller id, etc. note that when the ac-link is either programmed to the low power mode or shut off completely, bit_clk may stop if the primary codec is supplying the clock, which shuts down the ac-link clock to the secondary codec 1 . in order for a secondary codec to react to an external event (phone ringing), it must support an independent clocking scheme for any pme# associated logic that must be kept alive when the ac-link is down. this includes logic to asynchronously drive sdata_in to a logic high-level which signals a wake request to the ac ?97 digital controller. 4.6.3. codec reset there are three types of ac ?97 reset: ? a cold reset where all ac ?97 logic (most registers included) is initialized to its default state ? a warm reset where the contents of the ac ?97 register set are left unaltered ? a register reset which only initializes the ac ?97 registers to their default states 4.6.3.1. cold ac?97 reset a cold reset is achieved by asserting reset# ( low ) for the minimum specified time, then subse- quently de-asserting reset# ( high ) . bit_clk and sdata_in will be activated, or re-activated as the case may be, and all ac ?97 control registers will be initialized to their default power on reset val- ues. reset# is an asynchronous ac ?97 input. 4.6.3.2. warm ac?97 reset a warm ac ?97 reset will re-activate the ac-link without altering the current ac ?97 register values. a warm reset is signaled by driving sync high for a minimum of 1 m s in the absence of bit_clk. within normal audio frames , sync is a synchronous ac ?97 input. however, in the absence of bit_clk, sync is treated as an asynchronous input used in the generation of a warm reset to ac ?97. ac ?97 must not respond with the activation of bit_clk until sync has been sampled low again by ac ?97. this will preclude the false detection of a new audio frame. 4.6.3.3. register ac?97 reset most r egisters in an ac device can be restored to their default values by performing a write (any value) to the reset register, 00h. 1. secondary codecs always configure the bit_clk pin as an input.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 29 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 5. ac-link digital interface 5.1. overview ac-link is the 5 pin digital serial interface that links the ac?97 codec to the controller. the ac-link protocol is a bi-directional, fixed clock rate, serial digital stream. ac-link handles multiple input and output pcm audio streams, as well as control register accesses employing a time division multiplexed (tdm) scheme that divides each audio frame into 12 outgoing and 12 incoming data streams, each with 20-bit sample resolution. the STAC9752/9753 dacs, adcs, and spdif can be assigned to slots 3&4, 6&9, 7&8 or 10&11. figure 14. bi-directional ac-link frame with slot assignments table 4. ac-link output slots (transmitted from the controller) slot name description 0 sdata_out tag msbs indicate which slots contain valid data; lsbs convey codec id 1 control cmd addr write port read/write command bit plus 7-bit codec register address 2 control data write port 16-bit command register write data 3, 4 pcm l&r dac playback 20-bit pcm data for left and right channels 5 modem line 1 dac 16-bit modem data for modem line 1 output 6, 7, 8, 9 pcm center, surround l&r, lfe 20-bit pcm data for center, surround l&r, lfe channels 10 modem line 2 dac 16-bit modem data for modem line 2 output 11 modem handset dac 16-bit modem data for modem handset output 12 modem i/o control gpio write port for modem control 12 codec irq can be used by codec if a modem codec is not present. 10-11 spdif out optional ac-link bandwidth for spdif output 10-12 double rate audio optional ac-link bandwidth for 88.2 khz or 96 khz on l, c, r channels pcm mic vendor rsvd vendor rsvd line2 adc hset adc vendor rsvd status addr outgoing streams (controller output - sdata_out) incoming streams (codec output - sdata_in) sync tag phase data phase pcm left cmd addr na pcm lsurr pcm lfe spdif tag cmd data pcm rt pcm ctr pcm rsurr spdif io ctrl pcm left line1 adc tag status data pcm rt io status slots 0 1 2 3 4 5 6 7 8 9 10 11 12 slot 12 can be used by the ac'97 codec if a modem codec is not present.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 30 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 5.2. ac-link serial interface protocol the ac?97 controller signals synchronization of all ac-link data transactions. the ac?97 codec, controller, or external clock source drives the serial bit clock (bit_clk) onto ac-link, which the ac?97 controller then qualifies with a synchronization signal (sync) to construct audio frames. sync, fixed at 48 khz, is derived by dividing down the serial bit clock (bit_clk). bit_clk, fixed at 12.288 mhz, provides the necessary clocking granularity to support 12 20-bit outgoing and incoming time slots. ac-link serial data is transitioned on each rising edge of bit_clk. the receiver of ac-link data (codec for outgoing data and controller for incoming data) samples each serial bit on the falling edges of bit_clk. the ac-link protocol provides for a special 16-bit time slot (slot 0) wherein each bit conveys a valid tag for its corresponding time slot within the current audio frame. a 1 in a given bit position of slot 0 indicates that the corresponding time slot within the current audio frame has been assigned to a data stream, and contains valid data. if a slot is tagged invalid, it is the responsibility of the source of the data (ac?97 codec for the input stream, ac?97 controller for the output stream), to stuff all bit posi- tions with 0 during that slot?s active time. sync remains high for a total duration of 16 bit_clks at the beginning of each audio frame. the portion of the audio frame where sync is high is defined as the ?tag phase?. the remainder of the audio frame where sync is low is defined as the ?data phase?. additionally, for power savings, all clock, sync, and data signals can be halted. this requires that an ac?97 codec be implemented as a static design to allow its register contents to remain intact when entering a power savings mode. 5.2.1. ac-link variable sample rate operation the ac-link serial interconnect defines a digital data and control pipe between the controller and the codec. the ac-link supports 12 20-bit slots at 48 khz on sdata_in and sdata_out. the time division multiplexed (tdm) ?slot-based? architecture supports a per-slot valid tag infrastructure that the source of each slot?s data sets or clears to indicate the validity of the slot data within the cur- rent audio frame. this tag infrastructure can be used to support transfers between controller and codec at any sample rate. 5.2.2. variable sample rate signaling protocol ac-link?s tag infrastructure imposes fifo requirements on both sides of the ac-link. for example, in passing a 44.1 khz stream across the ac-link, for every 480 audio output frames that are sent across, 441 of them must contain valid sample data. does the ac?97 digital controller pass all 441 pcm samples followed by 39 invalid slots? or does the ac?97 digital controller evenly interleave table 5. the ac-link input slots (transmitted from the codec) slot name description 0 sdata_in tag msbs indicate which slots contain valid data 1 status addr read port msbs echo register address; lsbs indicate which slots request data 2 status data read port 16-bit command register read data 3, 4 pcm l&r adc record 20-bit pcm data from left and right inputs 5 modem line 1 adc 16-bit modem data from modem line1 input 6-11 pcm adc record 20-bit pcm data - alternative slots for input 12 gpio status gpio read port and interrupt status
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 31 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing valid and non-valid slots? each possible method brings with it different fifo requirements. to achieve interoperability between ac?97 digital controllers and codecs designed by different man- ufacturers, it is necessary to standardize the scheme for at least one side of the ac-link so that the fifo requirements will be common to all designs. the codec side of the ac-link is the focus of this standardization. the new standard approach calls for the addition of ?on demand? slot request flags. these flags are passed from the codec to the ac?97 digital controller during every audio input frame. each time the ac?97 digital controller sees one or more of the newly-defined slot request flags set active (low) in a given audio input frame, it knows that it must pass along the next pcm sample for the corre- sponding slot(s) in the ac-link output frame that immediately follows. the vra (variable rate audio) bit in the extended audio status and control register must be set to 1 to enable variable sample rate audio operation. setting the vra = 1 has two functions: 1. enables pcm dac/adc conversions at variable sample rates by write enabling sample rate registers 2ch through 34h. 2. enables the on demand codec-to-controller signaling protocol using slotreq bits that becomes necessary when a dac?s sample rate varies from the 48 khz ac-link serial frame rate. the table below summarizes the behavior: note: if more than one codec is being used with the same controller dma engine, vra should not be used. for variable sample rate output, the codec examines its sample rate control registers, the state of its fifos, and the incoming sdata_out tag bits at the beginning of each ac-link output frame to determine which slotreq bits to set active (low). slotreq bits asserted during the current ac-link input frame signal which active output slots require data from the ac?97 digital controller in the next audio output frame. an active output slot is defined as any slot supported by the codec that is not in a power-down state. for fixed 48khz operation the slotreq bits are always set active (low) and a sample is transferred in each frame. for variable sample rate input, the tag bit for each input slot indicates whether valid data is present or not. thus, even in variable sample rate mode, the codec is always the master: for sdata_in (codec to controller), the codec sets the tag bit; for sdata_out (controller to codec), the codec sets the slotreq bit and then checks for the tag bit in the next frame. the vrm (variable rate microphone audio) bit in the extended audio status and control register controls the optional mic adc input behavior in the same way that vra = 1 controls the pcm adc. 5.2.2.1. slotreq behavior and power management slotreq bits for fixed rate, powered down, and all unsupported slots should be driven low (zero) for maximum compatibility with the original ac'97 component specification. when a dac channel is powered down, it disappears completely from the serial frame: output tag and slot are ignored, and the slotreq bit is absent (forced to zero). when the controller wants to power-down a channel, all it needs to do is: table 6. vra behavior ac?97 functionality vra = 0 vra = 1 slotreq bits always 0 (data each frame) 0 or 1 (data on demand) sample rate registers forced to 48khz writable
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 32 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 1. disable source of dac samples in controller 2. set pr bit for dac channel in registers 26h, 2ah, or 3eh when it wants to power up the channel, all it needs to do is: 1. clear pr bit for dac channel in registers 26h, 2ah, or 3eh 2. enable source of dac samples in controller 5.2.3. primary and secondary codec register addressing the 2-bit codec id field in the lsbs of output slot 0 is an addition to the original ac-link protocol that enables an ac?97 digital controller to independently access primary and secondary codec registers. for primary codec access, the ac?97 digital controller: 1. sets the ac-link frame valid bit (slot 0, bit 15) 2. validates the tag bits for slot 1 and 2 command address and data (slot 0, bits 14 and 13) 3. sets a zero value (00) into the codec id field (slot 0, bits 1 and 0) 4. transmits the desired primary codec command address and command data in slots 1 and 2 for secondary codec access, the ac?97 digital controller: 1. sets the ac-link frame valid bit (slot 0, bit 15 ) 2. p laces a non-zero value (01, 10, or 11) into the codec id field (slot 0, bits 1 and 0) 3. transmits the desired secondary codec command address and command data in slots 1 and 2 secondary codecs disregard the command address and command data (slot 0, bits 14 and 13) tag bits . in a sense the secondary codec id field functions as an alternative valid command address (for secondary reads and writes) and command data (for secondary writes) tag indicator. secondary codecs must monitor the frame valid bit, and ignore the frame (regardless of the state of the secondary codec id bits) if it is not valid. ac?97 digital controllers should set the frame valid bit for a frame with a secondary register access, even if no other bits in the output tag slot except the secondary codec id bits are set. 5.3. ac-link output frame (sdata_out) the ac-link output frame data streams correspond to the multiplexed bundles of all digital output data targeting ac?97?s dac inputs and control registers. as mentioned earlier, each ac-link output frame supports up to 12 20-bit outgoing data time slots. slot 0 is a special reserved time slot contain- ing 16-bits which are used for ac-link protocol infrastructure. figure 15 illustrates the time slot based ac-link protocol.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 33 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing figure 15. ac-link audio output frame a new ac-link output frame begins with a low to high transition of sync. sync is synchronous to the rising edge of bit_clk. on the immediately following falling edge of bit_clk, the ac?97 codec samples the assertion of sync. this falling edge marks the time when both sides of ac-link are aware of the start of a new audio frame. on the next rising of bit_clk, the ac?97 con- troller transitions sdata_out into the first bit position of slot 0 (valid frame bit). each new bit posi- tion is presented to ac-link on a rising edge of bit_clk, and subsequently sampled by the ac?97 codec on the following falling edge of bit_clk. this sequence ensures that data transitions and subsequent sample points for both incoming and outgoing data streams are time aligned. figure 16. start of an audio output frame sdata_out?s composite stream is sent msb first, with all non-valid slots bit positions stuffed with 0 by the ac?97 controller. if there are less than 20 valid bits within an assigned and valid time slot, the ac?97 controller always stuffs the trailing non-valid bit positions of the 20-bit slot with 0. as an example, consider an 8-bit sample stream that is being played out to one of the STAC9752/ 9753 dacs. the first 8 bit-positions are presented to the dac (msb first) followed by the next 12 bit-positions which are stuffed with 0 by the ac?97 controller. this ensures that regardless of the resolution of the implemented dac (16, 18 or 20-bit), no dc biasing will be introduced by the least significant bits. when mono audio sample streams are output from the ac?97 controller, it is necessary that both left and right sample stream time slots be filled with the same data. sync bit_clk sdata_out slot1 slot2 end of previous audio frame slot(12) "0" 19 data phase 20.8 us (48 khz) tag phase 12.288 mhz time slot "valid" bits slot 1 slot 2 slot 3 slot 12 ("1" = time slot contains valid pcm data) cid1 cid0 valid "0" 19 19 "0" frame 19 "0" "0" sync bit_clk sdata_out slot1 slot2 end of previous audio frame valid frame sync asserted first sdata_out bit of frame sync detected by codec
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 34 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 5.3.1. slot 0: tag / codec id table 7. output slot 0 bit definitions within slot 0, the first bit is a global bit (sdata_out slot 0, bit 15) which flags the validity for the entire audio frame. if the ?valid frame? bit is a 1, this indicates that the current audio frame contains at least one time slot of valid data. the next 12 bit positions sampled by ac?97 indicate which of the corresponding 12 time slots contain valid data. in this way data streams of differing sample rates can be transmitted across ac-link at its fixed 48 khz audio frame rate. the two lsbs of slot 0 transmit the codec id used to distinguish primary and secondary codec register access. 5.3.2. slot 1: command address port the command port is used to control features and monitor status (see ac-link input frame slots 1 and 2) for ac?97 codec functions including, but not limited to, mixer settings, and power manage- ment (refer to the control register section of this specification). the control interface architecture supports up to 64 16-bit read/write registers, addressable on even byte boundaries. only the even registers (00h, 02h, etc.) are currently defined, odd register (01h, 03h, etc.) accesses are reserved for future expansion. note that shadowing of the control register file on the ac?97 controller is an option left open to the implementation of the ac?97 controller. the ac?97 codec?s control register file is nonetheless required to be readable as well as writeable to provide more robust testability. bit description 15 frame valid 14 slot 1 primary codec valid command address bit (primary codec only) 13 slot 2 primary codec valid command data bit (primary codec only) slot 3-12 valid data bits 12 slot 3: pcm left channel 11 slot 4: pcm right channel 10 slot 5: modem line 1 (not used on STAC9752/9753 ) 9 slot 6: alternative pcm1 left 8 slot 7: alternative pcm2 left 7 slot 8: alternative pcm2 right 6 slot 9: alternative pcm1 right 5 slot 10: spdif left 4 slot 11: spdif right 3 slot 12: audio gpio 2 reserved (set to 0) 1-0 2-bit codec id field (00 reserved for primary; 01, 10, 11 indicate secondary) note: the dac can be assigned to slots 3&4, 6&9, 7&8, or 10&11.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 35 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing ac-link output frame slot 1 communicates control register address, and write/read command infor- mation to the STAC9752/9753 . the first bit (msb) sampled by ac?97 indicates whether the current control transaction is a read or a write operation. the following 7 bit positions communicate the targeted control register address. the trailing 12 bit positions within the slot are reserved and must be stuffed with 0 by the ac?97 control- ler. 5.3.3. slot 2: command data port the command data port is used to deliver 16-bit control register write data in the event that the cur- rent command port operation is a write cycle (as indicated by slot 1, bit 19). ? bit(19:4) control register write data (stuffed with 0 if current operation is a read) ? bit(3:0) reserved (stuffed with 0) if the current command port operation is a read then the entire slot time must be stuffed with 0 by the ac?97 controller. 5.3.4. slot 3: pcm playback left channel ac-link output frame slot 3 is the composite digital audio left playback stream. in a typical ?games compatible? pc this slot is composed of standard pcm (.wav) output samples digitally mixed (on the ac?97 controller or host processor) with music synthesis output samples. if a sample stream of res- olution less than 20-bits is transferred, the ac?97 controller must stuff all trailing non-valid bit posi- tions within this time slot with 0. the dac can be assigned to slots 3&4, 6&9, 7&8, or 10&11. 5.3.5. slot 4: pcm playback right channel ac-link output frame slot 4 is the composite digital audio right playback stream. in a typical ?games compatible? pc this slot is composed of standard pcm (.wav) output samples digitally mixed (on the ac?97 controller or host processor) with music synthesis output samples. if a sample stream of res- olution less than 20-bits is transferred, the ac?97 controller must stuff all trailing non-valid bit posi- tions within this time slot with 0. the dac can be assigned to slots 3&4, 6&9, 7&8, or 10&11. 5.3.6. slot 5: modem line 1 output channel audio output frame slot 5 is reserved for modem operation and is not used by the STAC9752/9753 . 5.3.7. slot 6 - 11: dac the dac can be assigned to slots 3&4, 6&9, 7&8, or 10&11. table 8. command address port bit assignments bit description comments 19 read/write command 1= read, 0 = write 18:12 control register index sixty-four 16-bit locations, addressed on even byte boundaries 11:0 reserved stuffed with 0
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 36 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 5.3.8. slot 12: audio gpio control channel ac-link output frame slot 12 contains the audio gpio control outputs. 5.4. ac-link input frame (sdata_in) the ac-link input frame data streams correspond to the multiplexed bundles of all digital input data targeting the ac?97 controller. as is the case for audio output frame, each ac-link input frame con- sists of 12 20-bit time slots. slot 0 is a special reserved time slot containing 16-bits which are used for ac-link protocol infrastructure. the following diagram illustrates the time slot-based ac-link protocol . figure 17. STAC9752/9753 audio input frame a new ac-link input frame begins with a low to high transition of sync. sync is synchronous to the rising edge of bit_clk. on the immediately following falling edge of bit_clk, the ac?97 codec samples the assertion of sync. this falling edge marks the time when both sides of ac-link are aware of the start of a new audio frame. on the next rising of bit_clk, the ac?97 codec transitions sdata_in into the first bit position of slot 0 (?codec ready? bit). each new bit position is presented to ac-link on a rising edge of bit_clk, and subsequently sampled by the ac?97 controller on the falling edge of bit_clk. this sequence ensures that data transitions and subsequent sample points for both incoming and outgoing data streams are time aligned. figure 18. start of an audio input frame sdata_in?s composite stream is msb first with all non-valid bit positions (for assigned and/or unas- signed time slots) stuffed with 0 by the ac?97 codec. sdata_in data is sampled on the falling edges of bit_clk. sync bit_clk sdata_in slot1 slot2 end of previous audio frame slot(12) "0" 19 data phase 20.8 us (48 khz) tag phase 12.288 mhz time slot "valid" bits slot 1 slot 2 slot 3 slot 12 ("1" = time slot contains valid pcm data) valid "0" 19 19 "0" frame 19 "0" "0" "0" "0" sync bit_clk sdata_in slot1 slot2 end of previous audio frame codec ready sync detected first sdata_out bit of frame
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 37 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 5.4.1. slot 0: tag within slot 0 the first bit is a global bit (sdata_in slot 0, bit 15) which flags whether the ac?97 codec is in the ?codec ready? state or not. if the ?codec ready? bit is a 0, this indicates that the ac?97 codec is not ready for normal operation. this condition is normal following the deasser- tion of power-on-reset for example, while the ac?97 codec?s voltage references settle. when the ac-link ?codec ready? indicator bit is a 1, it indicates that the ac-link and ac?97 codec control and status registers are in a fully operational state. the codec must assert ?codec ready? within 400 m s after it starts receiving valid sync pulses from the controller, to provide indication of connec- tion to the link and control/status registers are available for access. the ac?97 controller and related software must wait until all of the lower four bits of the control/status register, 26h, are set before attempting any register writes, or attempting to enable any audio stream, to avoid undesirable audio artifacts. prior to any attempts at putting an ac?97 codec into operation, the ac?97 controller should poll the first bit in the ac-link input frame (sdata_in slot 0, bit 15) for an indication that codec has gone ?codec ready?. once an ac?97 codec is sampled ?codec ready? 1 , then the next 12 bit posi- tions sampled by the ac?97 controller indicate which of the corresponding 12 time slots are assigned to input data streams, and whether they contain valid data. 5.4.2. slot 1: status address port / slotreq signalling bits 5.4.2.1. s tatus address port the status port is used to monitor status for the STAC9752/9753 functions including, but not limited to, mixer settings and power management. ac-link input frame slot 1?s stream echoes the control register index, for historical reference, for the data to be returned in slot 2 (assuming that slots 1 and 2 had been tagged ?valid? by the ac?97 codec during slot 0). the first bit (msb) generated by ac?97 is always stuffed with a 0. the following 7 bit positions com- municate the associated control register address, the next 10 bits support ac?97?s variable sample rate signaling protocol, and the trailing 2 bit positions are stuffed with 0 by ac?97. 5.4.2.2. slotreq signaling bits ac-link input frame slot #1, the status address port, now delivers codec control register read address and variable sample rate slot request flags for all output slots. ten of the formerly reserved least significant bits have been defined as data request flags for output slots 3-12. 1. t here are several subsections within an ac?97 codec that can independently go busy/ready. it is the responsibility of the ac?97 controller to probe more deeply into the ac?97 codec?s register file to determine which subsections are actually ready. table 9. status address port bit assignments bit description comments 19 reserved stuffed with 0 18:12 control register index echo of register index for which data is being returned 11:2 slotreq see next section 1:0 reserved stuffed with 0
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 38 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing the ac-link input frame slot 1 tag bit is independent of the bit 11-2 slot request field, and only indicates valid status address port data (control register index). the codec should only set sdata_in tag bits for slot 1 (address) and slot 2 (data) to 1 when returning valid data from a previ- ous register read. they should otherwise be set to 0. slotreq bits have validity independent of the slot 1 tag bit. slotreq bits are always 0 in the following cases: ? fixed rate mode (vra = 0) ? inactive (powered down) adc channel slotreq bits are only set to 1 by the codec in the following case: ? variable rate audio mode (vra = 1) and active (power ready) adc and a non-48 khz adc sample rate and codec does not need a sample 5.4.3. slot 2: status data port the status data port delivers 16-bit control register read data. if slot 2 is tagged invalid by ac?97, then the entire slot will be stuffed with 0 by ac?97. 5.4.4. slot 3: pcm record left channel audio input frame slot 3 is the left channel output of STAC9752/9753 input mux, post-adc. STAC9752/9753 adcs are implemented to support 20-bit resolution. note: the adc can be assigned to slots 3&4, 6&9, 7&8, or 10&11. 5.4.5. slot 4: pcm record right channel audio input frame slot 4 is the right channel output of STAC9752/9753 input mux, post-adc. STAC9752/9753 adcs are implemented to support 20-bit resolution. note: the adc can be assigned to slots 3&4, 6&9, 7&8, or 10&11. 5.4.6. slot 5: modem line 1 adc audio input frame slot 5 is not used by the STAC9752/9753 and is a lways stuffed with 0. 5.4.7. slot 6 - 9: adc the left and right adc channels of the STAC9752/9753 may be assigned to slots 6&9 by register 6eh. note: the adc can be assigned to slots 3&4, 6&9, 7&8, or 10&11. table 10. status data port bit assignments bit description comments 19:4 control register read data stuffed with 0 if tagged ?invalid? 3:0 reserved stuffed with 0
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 39 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 5.4.8. slots 7 & 8: vendor reserved the left and right adc channels of the STAC9752/9753 may be assigned to slots 7&8 by register 6eh. n ote: the adc can be assigned to slots 3&4, 6&9, 7&8, or 10&11. 5.4.9. slot 10 & 11: adc the left and right adc channels of the STAC9752/9753 may be assigned to slots 10&11 by register 6eh. note: the adc can be assigned to slots 3&4, 6&9, 7&8, or 10&11. 5.4.10. s lot 12: reserved ac-link input frame slot 12 contains the gpio status inputs and allows for audio interrupts. slot 12 can not be used by the ac?97 codec because a modem codec is not present.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 40 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 5.5. ac-link interoperability requirements and recommendations 5.5.1. ?atomic slot? treatment of slot 1 address and slot 2 data command or status address and data cannot be split across multiple ac-link frames. the following transactions require that valid slot 1 address and valid slot 2 data be treated as ?atomic? (insepara- ble) with slot 0 tag bits for address and data set accordingly (that is, both valid): 1. ac?97 digital controller write commands to primary codecs 2. ac?97 codec status responses whenever the ac?97 digital controller addresses a primary codec or an ac?97 codec responds to a read command, slot 0 tag bits should always be set to indicate actual slot 1 and slot 2 data validity. when the ac?97 digital controller addresses a secondary codec, the slot 0 tag bits for address and data must be 0. a non-zero, 2-bit codec id in the lsbs of slot 0 indicates a valid read or write address in slot 1, and the slot 1 r/w bit indicates presence or absence of valid data in slot 2. table 11. primary codec addressing: slot 0 tag bits function slot 0, bit 15 (valid frame) slot 0, bit 14 (valid slot 1 address) slot 0, bit 13 (valid slot 2 data) slot 0, bits 1-0 (codec id) ac?97 digital controller primary read frame n, sdata_out 1 1 0 00 ac?97 digital controller primary write frame n, sdata_out 1 1 1 00 ac?97 codec status frame n+1, sdata_in 1 1 1 00 table 12. secondary codec addressing: slot 0 tag bits function slot 0, bit 15 (valid frame) slot 0, bit 14 (valid slot 1 address) slot 0, bit 13 (valid slot 2 data) slot 0, bits 1-0 (codec id) ac?97 digital controller secondary read frame n, sdata_out 1 0 0 01, 10, or 11 ac?97 digital controller secondary write frame n, sdata_out 1 0 0 01, 10, or 11 ac?97 codec status frame n+1, sdata_in 1 1 1 00
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 41 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 5.6. slot assignments for audio figure 19. bi-directional ac-link frame with slot assignments note: the dac & adc can be assigned to slots 3&4, 6&9, 7&8, or 10&11. t he ac-link output slots dedicated to audio are defined as follows: t he ac-link input slots dedicated to audio are defined as follows: note: the adc can be assigned to slots 3&4, 6&9, 7&8, or 10&11. table 13. ac-link slot definitions slot name description 3 pcm l dac playback 20-bit pcm data for left channel 4 pcm r dac playback 20-bit pcm data for right channel 6 pcm center 20-bit pcm data for center channel 7 pcm l surround 20-bit pcm data for l surround channel 8 pcm r surround 20-bit pcm data for r surround channel 9 pcm lfe 20-bit pcm data for lfe channel 10:11 spdif out 20-bit spdif output 12 reserved reserved table 14. ac-link input slots dedicated to audio slot name description 3 pcm l adc record 20-bit pcm data from left input 4 pcm r adc record 20-bit pcm data from right inputs 6 dedicated microphone adc 20-bit pcm data from optional 3rd adc input 7 vendor reserved vendor specific (enhanced input for docking, array mic, etc.) 8 vendor reserved vendor specific (enhanced input for docking, array mic, etc.) 9 vendor reserved vendor specific (enhanced input for docking, array mic, etc.) 12 audio interrupt provides optional interrupt capability for audio codec (not usable when a modem is present) pcm mic vendor rsvd vendor rsvd line2 adc hset adc vendor rsvd status addr outgoing streams (controller output - sdata_out) incoming streams (codec output - sdata_in) sync tag phase data phase pcm left cmd addr na pcm lsurr pcm lfe spdif tag cmd data pcm rt pcm ctr pcm rsurr spdif io ctrl pcm left line1 adc tag status data pcm rt io status slots 0 1 2 3 4 5 6 7 8 9 10 11 12 slot 12 can be used by the ac'97 codec if a modem codec is not present.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 42 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing table 15. audio interrupt slot definitions bit description 19-1 reserved (audio codec will return zeros in bits 19-1) 0 optional: assertion = 1 will cause interrupt to be propagated to audio controller system interrupt. see register 24h definition for enabling mechanism.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 43 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 6. STAC9752/9753 mixer the STAC9752/9753 includes an analog mixer for maximum flexibility. the analog mixer is designed to the ac'97 specification to manage the playback and record of all digital and analog audio sources in the pc environment. the analog mixer also includes several extensions of the ac ?97 specification to support ?all analog record? capability as well as ?pop bypass? mode for all digital playback. the analog sources include: ? system audio: digital pcm input and output for business, games & multimedia ? cd/dvd: analog cd/dvd-rom audio with internal connections to codec mixer ? mono microphone: choice of desktop microphone, with programmable boost and gain ? speakerphone: use of system microphone and speakers for telephone, dsvd, and video con- ferencing ? video: tv tuner or video capture card with internal connections to codec mixer ? aux/synth: analog fm or wavetable synthesizer, or other internal source ? line in: external analog line level source from consumer audio, video camera, etc. source function connection pc_beep pc beep pass through to line_out from pc_beep output phone mono input from telephony subsystem mic1 desktop microphone from microphone jack mic2 second microphone from second microphone jack line_in external audio source from line-in jack cd audio from cd-rom cable from cd-rom video audio from tv tuner or video camera cable from tv or vidcap card aux upgrade synth or other external source internal connector pcm_out digital audio output from ac'97 controller ac-link destination function connection hp_out stereo mix of all sources to headphone out jack line_out stereo mix of all sources to output jack mono_out microphone or mono analog mixer output to telephony subsystem pcm_in digital data from the codec to the ac'97 controller ac-link spdif spdif digital audio output to spdif output connector
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 44 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 7. mixer functional diagrams figure 20. STAC9752 2-channel mixer functional diagram figure 21. stac9753 2-channel mixer functional diagram s 0ah 0ch 0eh 10h 12h 16h 14h pc_beep phone cd aux video linein mic1 mic2 20h:d8 10, 20 or 30 db s allanalog vs allrecord 6eh:d12 -6db s mux adc 04h mono volume master volume 3d line_out 3d hp_out 02h 06h mux s 1ch 20h:d15 analog audio sources slot select slot select mux pcm to spdif spdif pcmout 2ah:d5-d4 28h: d5-d4 pcmin 20h:d13 22h:d2-d3 1ah -6db monoanalog stereoanalog digital key 20h:d9 adcrecord mux vol mute vol mute vol mute vol mute vol mute vol mute vol mute vol mute mux dac record volume 6ah:d1 18h headphone volume mono_out 0eh:d6 & 6e:d2 slot select digital pcbeep 38h:d5-d4 20h:d13 22h:d2-d3 s 0ah 0ch 0eh 10h 12h 16h 14h pc_beep phone cd aux video linein mic1 mic2 20h:d8 10, 20 or 30 db s allanalog vs allrecord 6eh:d12 -6db s mux adc 04h mono volume master volume 3d line_out 3d hp_out 02h 06h mux s 1ch 20h:d15 analog audio sources slot select slot select mux pcm to spdif spdif pcmout 2ah:d5-d4 28h: d5-d4 pcmin 20h:d13 22h:d2-d3 1ah -6db monoanalog stereoanalog digital key 20h:d9 adcrecord mux vol mute vol mute vol mute vol mute vol mute vol mute vol mute vol mute mux dac record volume 6ah:d1 18h headphone volume mono_out 0eh:d6 & 6e:d2 slot select digital pcbeep 38h:d5-d4 20h:d13 22h:d2-d3
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 45 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 7.1. analog mixer input the mixer provides recording and playback of any audio sources or output mix of all sources. the STAC9752/9753 supports the following input sources: ? any mono or stereo source ? mono or stereo mix of all sources ? 2-channel input w/mono output reference (microphone or stereo mix) note: all unused inputs should be tied together and connected to ground through a capacitor (0.1 m f suggested). note: the mic should be tied to ground through a separate 0.1 m f capacitor. 7.2. mixer analog output the mixer generates three distinct outputs: ? a stereo mix of all sources for output to the line_out ? a stereo mix of all sources for output to hp_out ? a mono, microphone only, or mix of all sources , for mono_out 7.3. spdif digital mux the STAC9752/9753 incorporates a digital output that supports spdif formats. a multiplexer deter- mines which of two digital input streams are used for the digital output conversion process. these two streams include the pcm _ out data from the audio controller and the adc recorded output. the normal analog line_out signal can be converted to the spdif formats by using the internal adc to record the ? mix? output, which is the combination of all analog and all digital sources. in the case of digital controllers with support for 4 or more channels, the spdif output mode can be used to support compressed 6-channel output streams for delivery to home theater systems. these can be routed on alternate ac-link slots to the spdif output, while the standard 2-channel output is deliv- ered as selected by bits d5 and d4 in register 6e. if the digital controller supports 6 channels, a spdif output with 4 analog channels can also be configured. if the digital controller has independent dma engines, spdif and analog can be used simulta- neously and independently. pin 48: to enable spdif, use an 1 k w to 10 k w external pulldown. to disable spdif, use an 1 k w to 10 k w external pullup. do not leave pin 48 floating.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 46 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 7.4. pc beep implementation the STAC9752/9753 offers 2 styles of pc beep, analog and digital. the digital pc beep is a new feature added to the ac?97 specification rev 2.3. this style of pc beep will eventually replace the a nalog style, thus eliminating the need for a pc beep pin. until this feature is widely accepted, idt will provide both styles of pc beep. both pc beep styles use reg 0ah. additional information about reg 0ah can be found in section8.1.5: page51. 7.4.1. analog pc beep pc beep is active on power up and defaults to an un-muted state. the pc_beep input is routed directly to the mono_out, line_out and hp_out pins of the codec. because the pc_beep input drive is often a full scale digital signal, some resistive attenuation of the pc_beep input is rec- ommended to keep the beep tone within reasonable volume levels. the user should mute this input before using any other mixer input because the pc beep input can contribute noise to the lineout during normal operation. this style of pc beep is related to the ac ?97 specification rev 2.2. to use the analog pc beep, a value of 00h written to bits f[7:0] (d[12:5]) disables the digital pc beep gen- eration. pv[3:0] (d[4:1]) controls the volume level from 0 to 45db of attenuation in 3db steps. 7.4.2. digital pc beep the digital pc beep uses the identical register as the a nalog style, reg 0ah. this register controls the level and frequency for the pc beep. the beep frequency is the result of dividing the 48 khz clock by 4 times the number specified in f[7:0], allowing tones from 47 hz to 12 khz . a value of 00h written to bits f[7:0] disables the digital pc beep generation and enables the analog pc beep . the volume control bits, pv[3:0] operate identically to the analog pc beep mode. applying a signal to the pc beep pin, pin 12, may cause the digital pc beep signal to become distorted or inaudible. when using the digital pc beep feature, we recommend leav ing the pc beep input pin unconnected or connected to analog ground through a capacitor. connecting a capacitor from the pc beep input pin to ground will create a more pleasing sound by changing the digital output to a more sinusoidal like output. this will be programmed directly by the bios. table 16. digital pc beep examples value reg 0ah, bits[7:0] frequency 1 0x01 12,000 hz 10 0x0a 1200 hz 25 0x19 480 hz 50 0x32 240 hz 100 0x64 120 hz 127 0x7f 94.48 hz 255 0xff 47.05 hz
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 47 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8. programming registers table 17. programming registers address name default location 00h reset 6 a9 0h 8.1.1; page48 02h master volume 8000h 8.1.2; page48 04h hp_out mixer volume 8000h 8.1.3; page49 06h master volume mono 8000h 8.1.4; page50 0ah pc beep mixer volume 0000h 8.1.5; page51 0ch phone mixer volume 8008h 8.1.6; page51 0eh microphone mixer volume 8008h 8.1.7; page52 10h line in mixer volume 8808h 8.1.8; page52 12h cd mixer volume 8808h 8.1.9; page53 14h video mixer volume 8808h 8.1.10; page53 16h aux mixer volume 8808h 8.1.11; page54 18h pcm out mixer volume 8808h 8.1.12; page54 1ah record select 0000h 8.1.13; page55 1ch record gain 8000h 8.1.14; page55 20h general purpose 0000h 8.1.15; page56 22h 3d control 0000h 8.1.16; page56 24h audio int. & paging 0000h 8.1.17: page57 26h powerdown ctrl/stat 000fh 8.1.18; page58 28h extended audio id 0 a0 5h 8.1.19; page59 2ah extended audio control/status 0400h * 8.1.20; page61 2ch pcm dac rate bb80h 8.1.22; page63 32h pcm lr adc rate bb80h 8.1.23; page63 3ah spdif control 2000h 8.1.24; page64 3eh extended modem stat/ctl 0100h 8.2.4; page65 4ch gpio pin configuration 0003h 8.2.5; page66 4eh gpio pin polarity/type ffff h 8.2.6; page66 50h gpio pin sticky 0000h 8.2.7; page66 52h gpio wake-up 0000h 8.2.8; page67 54h gpio pin status 0000h 8.2.9; page67 60h codec class/rev 1201h 8.3; page68 62h (page 01h) pci svid ffffh 8.4.2; page70 64h (page 01h) pci s s id ffffh 8.4.3; page70 66h (page 01h) function select 0000h 8.4.4; page71 68h (page 01h) function information xxxxh 8.4.5; page72 6ah digital audio control 0000h 8.4.6; page73 6ah (page01h) sense details n a 8.4.7: page74 6ch revision code xxxxh 8.4.7; page74 6ch (page01h) reserved 0000h na 6eh analog special 1000h 8.4.9: page76 6eh (page01h) reserved 0000h na 70h e nable register 0000h na
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 48 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1. register descriptions 8.1.1. reset (00h) default: 6a90h writing any value to this register performs a register reset, which causes all registers to revert to their default values. this register reset also resets all the digital block. reading this register returns the id code of the part . 8.1.2. master volume registers (02h) default: 8000h 72h analog current adjust 0000h 8.4.10; page77 74h eapd a ccess 0800h 8.4.11; page77 78h high pass filter bypass 0000h 8.4.12; page78 7ah reserved na na 7ch vendor id1 8384h 8.5.1; page79 7eh vendor id2 7652h 8.5.2; page79 note: * depends upon codec id d15 d14 d13 d12 d11 d10 d9 d8 rsrvd se4 se3 se2 se1 se0 id9 id8 d7 d6 d5 d4 d3 d2 d1 d0 id7 id6 id5 id4 id3 id2 id1 id0 bit(s) reset value name description 15 0 reserved bit not used, should read back 0 14:10 11010 se4:se0 idt id for ss3d 9 1 id9 20-bit adc resolution (supported) 8 0 id8 18-bit adc resolution 7 1 id7 20-bit dac resolution (supported) 6 0 id6 18-bit dac resolution 5 0 id5 loudness (bass boost) 4 1 id4 headphone out (supported) 3 0 id3 simulated stereo (mono to stereo) 2 0 id2 bass & treble control 1 0 id1 reserved 0 0 id0 dedicated mic pcm in channel d15 d14 d13 d12 d11 d10 d9 d8 mute rsrvd ml5 ml4 ml3 ml2 ml1 ml0 d7 d6 d5 d4 d3 d2 d1 d0 reserved mr5 mr4 mr3 mr2 mr1 mr0 table 17. programming registers (continued) address name default location
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 49 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1.3. headphone volume registers (04h) default: 8000h bit(s) reset value name description 15 1 mute 0 = no mute 1 = mutes both left & right channels 14 0 reserved bit not used, should read back 0 13 0 ml5 0 = lineout attenuation is a function of bits12-8 1 = forces register bits 12-8 to be 11111. always reads back 0. 12:8 0 ml<4:0> left lineout volume control 00000 = 0db attenuation 00001 = 1.5db attenuation ..... 11111 = 46.5db attenuation 7:6 0 reserved bits not used, should read back 0 5 0 mr5 0 = lineout attenuation is a function of bits 4-0 1 = forces register bits 4-0 to be 11111 always reads back 0 4:0 0 mr<4:0> right channel lineout volume control 00000 = 0db attenuation 00001 = 1.5db attenuation ..... 11111 = 46.5db attenuation d15 d14 d13 d12 d11 d10 d9 d8 mute rsrvd hpl5 hpl4 hpl3 hpl2 hpl1 hpl0 d7 d6 d5 d4 d3 d2 d1 d0 reserved hpr5 hpr4 hpr3 hpr2 hpr1 hpr0 bit(s) reset value name description 15 1 mute 0 = no mute 1 = mutes both left & right channels 14 0 reserved bit not used, should read back 0 13 0 ml5 0 = headphone attenuation is a function of bits12-8 1 = forces register bits 12-8 to be 11111. always reads back 0 12:8 0 ml<4:0> left headphone volume control 00000 = 0db attenuation 00001 = 1.5db attenuation ..... 11111 = 46.5db attenuation 7:6 0 reserved bits not used, should read back 0 5 0 mr5 0 = headphone attenuation is a function of bits 4-0 1 = forces register bits 4-0 to be 11111. always reads back 0 4:0 0 mr<4:0> right channel headphone volume control 00000 = 0db attenuation 00001 = 1.5db attenuation ..... 11111 = 46.5db attenuatio n
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 50 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1.4. master volume mono (06h) d efault: 8000h d15 d14 d13 d12 d11 d10 d9 d8 mute reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved mm5 mm4 mm3 mm2 mm1 mm0 bit(s) reset value name description 15 1 mute 0 = no mute 1 = mute mono 14:6 0 reserved bit not used, should read back 0 5 0 mm5 0 = mono attenuation is a function of bits 4-0 1 = forces register bits 4-0 to be 11111. always reads back 0 4:0 0 mm<4:0> mono volume control 00000 = 0db attenuation 00001 = 1.5db attenuation ..... 11111 = 46.5db attenuation
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 51 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1.5. pc beep volume (0ah) default: 0000 h additional information on the pc beep can be found in section 7.4: page46. 8.1.6. phone volume (index 0ch) default: 8008h. d15 d14 d13 d12 d11 d10 d9 d8 mute reserved f7 f6 f5 f4 f3 d7 d6 d5 d4 d3 d2 d1 d0 f2 f1 f0 pv3 pv2 pv1 pv0 rsrvd bit(s) reset value name description 15 1 mute 0 = no mute 1 = mute pc beep 14:13 0 reserved bit not used, should read back 0 12:5 00h f[7:0] the beep frequency is the result of dividing the 48 khz clock by 4 times the value of the number specified in f[7:0] , allowing tones from 47 hz to 12 khz. a value of 00h in bits f[7:0] disables internal pc beep generation and enables external pc beep input, if available. 4:1 0 pv (3:0) pcbeep volume control 0000 = 0db attenuation 0001 = 3db attenuation ..... 1111 = 45db attenuatio n 0 0 reserved bit not used, should read back 0 d15 d14 d13 d12 d11 d10 d9 d8 mute reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved gn4 gn3 gn2 gn1 gn0 bit(s) reset value name description 15 1 mute 0 = no mute 1 = mute phone 14:5 0 reserved bit not used, should read back 0 4:0 0 gn<4:0> phone volume control 00000 = 12db gain 00001 = 10.5db gain ..... 01000 = 0db gain ..... 11111 = -34.5db gain
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 52 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1.7. mic volume (index 0eh) default: 8008h. 8.1.8. linein volume (index 10h) default: 8808h. d15 d14 d13 d12 d11 d10 d9 d8 mute reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved boosten reserved gn4 gn3 gn2 gn1 gn0 bit(s) reset value name description 15 1 mute 0 = no mute 1 = mute phone 14:7 0 reserved bit not used, should read back 0 6 0 boosten works with micgainval (register 6eh, bit d2) boosten micgainval = microphone gain boost 0 0 = 0 db 0 1 = 10 db 1 0 = 20 db 1 1 = 30 db 5 0 reserved 4:0 0 gn<4:0> phone volume control 00000 = 12db gain 00001 = 10.5db gain ..... 01000 = 0db gain ..... 11111 = -34.5db gai n d15 d14 d13 d12 d11 d10 d9 d8 mute reserved gl4 gl3 gl2 gl1 gr0 d7 d6 d5 d4 d3 d2 d1 d0 reserved gr4 gr3 gr2 gr1 gr0 bit(s) reset value name description 15 1 mute 0 = no mute 1 = mute linein 14:13 0 reserved bit not used, should read back 0 12:8 0 gl<4:0> left linein volume control 00000 = 12db gain 00001 = 10.5db gain ..... 01000 = 0db gain ..... 11111 = -34.5db gai n 7:5 0 reserved bit not used, should read back 0 4:0 0 gr<4:0> right linein volume control 00000 = 12db gain 00001 = 10.5db gain ..... 01000 = 0db gain ..... 11111 = -34.5db gai n
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 53 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1.9. cd volume (index 12h) default: 8808h. 8.1.10. video volume (index 14h) default: 8808h. d15 d14 d13 d12 d11 d10 d9 d8 mute reserved gl4 gl3 gl2 gl1 gr0 d7 d6 d5 d4 d3 d2 d1 d0 reserved gr4 gr3 gr2 gr1 gr0 bit(s) reset value name description 15 1 mute 0 = no mute 1 = mute cd 14:13 0 reserved bit not used, should read back 0 12:8 0 gl<4:0> left cd volume control 00000 = 12db gain 00001 = 10.5db gain ..... 01000 = 0db gain ..... 11111 = -34.5db gain 7:5 0 reserved bit not used, should read back 0 4:0 0 gr<4:0> right cd volume control 00000 = 12db gain 00001 = 10.5db gain ..... 01000 = 0db gain ..... 11111 = -34.5db gain d15 d14 d13 d12 d11 d10 d9 d8 mute reserved gl4 gl3 gl2 gl1 gr0 d7 d6 d5 d4 d3 d2 d1 d0 reserved gr4 gr3 gr2 gr1 gr0 bit(s) reset value name description 15 1 mute 0 = no mute 1 = mute video 14:13 0 reserved bit not used, should read back 0 12:8 0 gl<4:0> left video volume control 00000 = 12db gain 00001 = 10.5db gain ..... 01000 = 0db gain ..... 11111 = -34.5db gain 7:5 0 reserved bit not used, should read back 0 4:0 0 gr<4:0> right video volume control 00000 = 12db gain 00001 = 10.5db gain ..... 01000 = 0db gain ..... 11111 = -34.5db gain
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 54 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1.11. aux volume (index 16h) default: 8808h. 8.1.12. pcmout volume (index 18h) default: 8808h. d15 d14 d13 d12 d11 d10 d9 d8 mute reserved gl4 gl3 gl2 gl1 gr0 d7 d6 d5 d4 d3 d2 d1 d0 reserved gr4 gr3 gr2 gr1 gr0 bit(s) reset value name description 15 1 mute 0 = no mute 1 = mute aux 14:13 0 reserved bit not used, should read back 0 12:8 0 gl<4:0> left aux volume control 00000 = 12db gain 00001 = 10.5db gain ..... 01000 = 0db gain ..... 11111 = -34.5db gain 7:5 0 reserved bit not used, should read back 0 4:0 0 gr<4:0> right aux volume control 00000 = 12db gain 00001 = 10.5db gain ..... 01000 = 0db gain ..... 11111 = -34.5db gain d15 d14 d13 d12 d11 d10 d9 d8 mute reserved gl4 gl3 gl2 gl1 gr0 d7 d6 d5 d4 d3 d2 d1 d0 reserved gr4 gr3 gr2 gr1 gr0 bit(s) reset value name description 15 1 mute 0 = no mute 1 = mute pcm out 14:13 0 reserved bit not used, should read back 0 12:8 0 gl<4:0> left pcm volume control 00000 = 12db gain 00001 = 10.5db gain ..... 01000 = 0db gain ..... 11111 = -34.5db gain
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 55 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1.13. record select (1ah) default: 0000h (corresponding to microphone in ) used to select the record source independently for right and left. 8.1.14. record gain (1ch) default: 8000h (corresponding to 0 db gain with mute on) 7:5 0 reserved bit not used, should read back 0 4:0 0 gr<4:0> right pcm volume control 00000 = 12db gain 00001 = 10.5db gain ..... 01000 = 0db gain ..... 11111 = -34.5db gain d15 d14 d13 d12 d11 d10 d9 d8 reserved sl2 sl1 sl0 d7 d6 d5 d4 d3 d2 d1 d0 reserved sr2 sr1 sr0 bit(s) reset value name description 15:11 0 reserved bits not used, should read back 0 10:8 0 sl2:sl0 left channel input select 000 = microphone 001 = cd in (left) 010 = video in (left) 011 = aux in (left) 100 = line in (left) 101 = stereo mix (left) 110 = mono mix 111 = phone 7:3 0 reserved bits not used, should read back 0 2:0 0 sr2:sr0 right channel input select 000 = microphone 001 = cd in (right) 010 = video in (right) 011 = aux in (right) 100 = line in (right) 101 = stereo mix (right) 110 = mono mix 111 = phone d15 d14 d13 d12 d11 d10 d9 d8 mute reserved gl3 gl2 gl1 gl0 d7 d6 d5 d4 d3 d2 d1 d0 reserved gr3 gr2 gr1 gr0 bit(s) reset value name description 15 1 mute mutes record gain 14:12 0 reserved bits not used, should read back 0 bit(s) reset value name description
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 56 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1.15. general purpose (20h) default: 0000h 8.1.16. 3d control (22h) default: 0000h 11:8 0 gl<3:0> left channel volume control 0000 = 0db gain 0001 = 1.5db gain .... 1111 = 22.5db gain 7:4 0 reserved bits not used, should read back 0 3:0 0 gr<3:0> right channel volume control 0000 = 0db gain 0001 = 1.5db gain .... 1111 = 22.5db gain d15 d14 d13 d12 d11 d10 d9 d8 pop byp reserved 3d reserved mix ms d7 d6 d5 d4 d3 d2 d1 d0 loopback reserved bit(s) reset value name description 15 0 pop bypass 0 = normal 1 = dac bypasses mixer and connects directly to line out, headphone out and mono out . 14 0 reserved bit not used, should read back 0 13 0 3d 0 = 3d effect disabled 1 = 3d effect enabled 12:10 0 reserved bits not used, should read back 0 9 0 mix mono output select (0 = mix, 1 = microphone) 8 0 ms microphone select (0 = microphone1, 1 = microphone2) 7 0 loopback 1 = enables adc to dac loopback test 0 = loopback disable d do not send in conflicting data on ac-link while running this. 6:0 0 reserved bits not used, should read back 0 d15 d14 d13 d12 d11 d10 d9 d8 reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved dp3 dp2 reserved bit(s) reset value name description
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 57 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing this register is used to control the 3d stereo enhancement function, idt surround 3d (ss3d), built into the ac'97 component. note that register bits dp3-dp2 are used to control the separation ratios in the 3d control for line_out. ss 3d provides for a wider soundstage extending beyond the nor- mal 2-speaker arrangement. note that the 3d bit in the general purpose register (20h) must be set to 1 to enable ss 3d functionality to allow the bits in 22h to take effect . t he three separation ratios are implemented. the separation ratio defines a series of equations that determine the amount of depth difference (high, medium, and low) perceived during 2- channel playback. the ratios provide for options to narrow or widen the soundstage. 8.1.17. audio interrupt and paging (24h) default: 0000h bit(s) reset value name description 15:4 0 reserved bits not used, should read back 0 3:2 0 dp3, dp2 line_out separation ratio dp3 dp2 effect 0 0 0 ( off ) 0 1 3 ( low ) 1 0 4.5 ( med ) 1 1 6 ( high ) 1:0 0 reserved bits not used, should read back 0 d15 d14 d13 d12 d11 d10 d9 d8 i4 i3 i2 i1 i0 reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved pg3 pg2 pg1 pg0 bit(s) reset value access name description 15 0 read / write i4 0 = interrupt is clear 1 = interrupt is set interrupt event is cleared by writing a 1 to this bit. the interrupt bit will change regardless of condition of interrupt enable (i0) status. an interrupt in the gpi in slot 12 in the aclink will follow this bit change when interrupt enable (i0) is unmasked. 14-13 0 read only i3-i2 interrupt cause 00 = reserved 01 = sense cycle complete, sense info available. 10 = change in gpio input status 11 = sense cycle complete and change in gpio input status . these bits will reflect the general cause of the first interrupt event generated. it should be read after interrupt status has been confirmed as interrupting. the information should be used to scan possible interrupting events in proper pages. 12 0 read / write i1 sense cycle 0 = sense cycle not in progress 1 = sense cycle start. writing a 1 to this bit causes a sense cycle start if supported. if sense cycle is not supported this bit is read only.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 58 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1.18. powerdown ctrl/stat (26h) default: 000fh 11 0 read / write i0 interrupt enable 0 = interrupt generation is masked. 1 = interrupt generation is un-masked. the driver should not un-mask the interrupt unless ensured by the ac ?97 controller that no conflict is possible with modem slot 12 - gpi functionality. some ac?97 2.2 compliant controllers will not likely support audio codec interrupt infrastructure. in either case, s/w should poll the interrupt status after initiating a sense cycle and wait for sense cycle max delay to determine if an interrupting event has occurred. 10:4 0 read only reserved bits not used, should read back 0 3:0 0 read / write pg3:pg0 page selector 0h = vendor specific 1h = page id 01 (see section 8.4 for additional information on the paging registers) fh = reserved pages this register is used to select a descriptor of 16 word pages between registers 60h to 6fh. value 0h is used to select vendor specific space to maintain compatibility with ac?97 2.2 vendor specific registers. system s/w determines implemented pages by writing the page number and reading the value back. all implemented pages must be consecutive. (i.e., page 2h cannot be implemented without page 1h). these registers are not reset on reset#. d15 d14 d13 d12 d11 d10 d9 d8 eapd pr6 pr5 pr4 pr3 pr2 pr1 pr0 d7 d6 d5 d4 d3 d2 d1 d0 reserved ref anl dac adc bit(s) reset value name description 15 0 eapd 1 = forces eapd pad to vdd 0 = forces eapd pad to gnd 14 0 pr6 0 = headphone amp powered up 1 = headphone amp powered down 13 0 pr5 0 = digital clk active 1 = digital clk disable . 12 0 pr4 0 = digital active 1 = powerdown: pll, ac-link, xtal oscillator ; 11 0 pr3 0 = vref and vrefout are active 1 = vref and vrefout are powered down, and pr2 is asserted in analog block 10 0 pr2 0 = analog active 1 = all signal path analog is powered dow n 9 0 pr1 0 = dac powered up 1 = dac powered down bit(s) reset value access name description
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 59 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1.18.1. ready status the lower half of this register is read only status, a 1 indicating that each subsection is ?ready?. ready is defined as the subsection's ability to perform in its nominal state. when this register is writ- ten, the bit values that come in on ac-link will have no effect on read - only bits 0-7. when the ac-link ?codec ready? indicator bit (sdata_in slot 0, bit 15) is a 1, it indicates that the ac-link and ac'97 control and status registers are in a fully operational state. the ac'97 controller must further probe this powerdown control/status register to determine exactly which subsections, if any , are ready. when this register is written, the bit values that come in on ac-link will have no effect on read - only bits 0-7. 8.1.18.2. powerdown controls the STAC9752/9753 is capable of operating at reduced power when no activity is required. the state of power down is controlled by the powerdown register (26h). see the section ?low power modes? for more information. 8.1.18.3. external amplifier power down control output the eapd bit 15 of the powerdown control/status register (index 26h) directly controls the output of the eapd output, pin 45, and produces a logical 1 when this bit is set to logic high. this function is used to control an external audio amplifier power down. eapd = 0 places approximately 0v on the output pin, enabling an external audio amplifier. eapd = 1 places approximately dvdd on the output pin, disabling the external audio amplifier. audio amplifiers that operate with reverse polarity will likely require an external inverter to maintain software driver compatibility. eapd can also act as a gpio. see section 8.4.11: page77. the gpio controls in section8.2: page64 have no effect on eapd. 8.1.19. extended audio id (28h) default: 0 a0 5h 8 0 pr0 0 = adc powered up 1 = adc powered down 7:4 0 reserved bit not used, should read back 0 3 1 ref read only --- vref status 1 = vrefs enable d 2 1 anl read only ---- analog mixers, etc. status 1 = analog mixers ready . 1 1 dac read only ---- dac status 1 = dac ready to playbac k 0 1 adc read only ---- adc status 1 = adc ready to recor d d15 d14 d13 d12 d11 d10 d9 d8 id1 id0 reserved amap rsvd d7 d6 d5 d4 d3 d2 d1 d0 reserved dsa1 dsa0 rsvd spdif rsvd vra bit(s) reset value name description
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 60 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing the extended audio id register is a read only register except for bits d4 and d5. id1 and id0 echo the configuration of the codec as defined by the programming of pins 45 and 46 externally. t he primary codec returns ?00? , while any other code identifies the codec as one of three secondary codec possibilities. the amap bit, d9, will return a 1 indicating that the codec supports the optional ?ac?97 2.3 compliant ac-link slot to audio dac mappings?. the default condition assumes that 0 is loaded in to the dsa0 and dsa1 bits of the extended audio id (index 28h). with 0 in the dsa1 and dsa0 bits, the codec slot assignments are as per the ac ?97 specification recommen- dations. if the dsa1 and dsa0 bits do not contain 0 , the slot assignments are as per the table in the section describing the extended audio id (index 28h). the vra bit, d0, will return a 1 indicating that the codec supports the optional variable sample rate conversion as defined by the ac ?97 specifi- cation. table 18. extended audio id register functions bit name access reset value function 15:14 id [1,0] read only variable 0,0 = xtal_out grounded (note 1) cid1#, cid0# = xtal_out crystal or floating 13:12 reserved read only 00 bits not used, should read back 00 11:10 rev[1:0] read only 1 0 indicates codec is ac ?97 rev 2.3 compliant 9:6 rsvd read only 0 reserved 5:4 dsa [1,0] read/write 00 dac slot assignment if cid[1:0] = 00 then dsa[1:0] resets to 00 if cid[1:0] = 01 then dsa[1:0] resets to 01 if cid[1:0] = 10 then dsa[1:0] resets to 01 if cid[1:0] = 11 then dsa[1:0] resets to 10 00 = left slot 3, right slot 4 01 = left slot 7, right slot 8 10 = left slot 6, right slot 9 11 = left slot 10, right slot 11 3 rsvd read only 0 reserved 2 spdif read only 1 0 = spdif pulled high on reset, spdif disabled 1 = default, spdif enabled (note 2) 1 rsvd read only 0 reserved 0 vra read only 1 variable sample rates supported (always = 1) 1. external cid pin status (from analog) these bits are the logical inversion of the pin polarity (pin 45-46). these bits are zero if xtal_out is grounded with an alternate external clock source in primary mode only. secondary mode can either be through bit clk driven or 24mhz clock driver, with xtal_out floating. 2. if pin 48 is held high at powerup, this bit will be held to zero, to indicate the spdif is not available. pin 48: to enable spdif, use an external 1k w -10k w pulldown resistor. to disable spdif, use an external 1k w -10k w pullup resistor. do not leave pin 48 floating.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 61 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1.20. extended audio control/status (2ah) default: 0400h* (*default depends on codec id) note: if pin 48 is held high at powerup, the spdif is not available and bits d15:d1 can not be written and will read back zero. pin 48: to enable spdif, use an external 1k w -10k w pulldown resistor. to disable spdif, use an external 1k w -10k w pullup resistor. do not leave pin 48 floating. d15 d14 d13 d12 d11 d10 d9 d8 vcfg reserved spcv reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved spsa1 spsa0 rsrvd spdif rsrvd vra enable bit(s) reset value name description 15 vcfg determines the spdif transmitter behavior when data is not being transmitted. when asserted, this bit forces the deassertion of the spdif ?validity? flag, which is bit 28 transmitted by the spdif sub-frame. the ?v? bit is defined in the spdif control register (reg 3ah). if ?v? = 1 and ?vcfg? = 0, then for each s/pdif sub-frame (left & right), bit[28] ?validity? flag reflects whether or not an internal codec transmission error has occurred. specifically an internal codec error should result in the ?validity? flag being set to 1. if ?v? = 0 and ?vcfg? = 1, in the case where the s/pdif transmitter does not receive a valid sample from the ac'97 controller, (left or right), the s/pdif transmitter should set the ?validity? flag to ?0? and pad the ?audio sample word? with ?0?s for sub-frame in question. if a valid sample (left or right) was received and successfully transmitted, the ?validity? flag should be ?0? for that sub-frame. default state, coming out of reset, for ?v? and ?vcfg? should be 0 and 0. these bits can be set via driver .inf options. 14-11 reserved reserved 10 0 spcv 0 = invalid spdif configuration 1 = valid spdif configuration 9:6 0 reserved bit not used, should read back 0 5:4 0 spsa1:spsa0 spdif slot assignmen t if cid[1:0] = 00 then spsa[1:0] resets to 01 if cid[1:0] = 01 then spsa[1:0] resets to 10 if cid[1:0] = 10 then spsa[1:0] resets to 10 if cid[1:0] = 11 then spsa[1:0] resets to 11 00 = left slot 3, right slot 4 01 = left slot 7, right slot 8 10 = left slot 6, right slot 9 11 = left slot 10, right slot 11 3 reserved reserved 2 0 spdif 0 = disables spdif (spdif_out is high z) (note 1) 1 = enable spdif spdif is a control register for reg 3ah, this bit must be set low i.e. spdif disabled in order to write to reg 3ah bits d15,d13:d0.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 62 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1.20.1. variable rate sampling enable the extended audio status control register also contains one active bit to enable or disable the variable sampling rate capabilities of the dacs and adcs. if the vra ( bit d0 ) is 1 , the variable sample rate control registers (2ch and 32h) are active, and ?on-demand? slot data required transfers are allowed. if the vra bit is 0, the dacs and adcs will operate at the default 48 khz data rate. the STAC9752/9753 supports ?on-demand? slot request flags. these flags are passed from the codec to the ac ?97 controller in every audio input frame. each time a slot request flag is set (active low) in a given audio frame, the controller will pass the next pcm sample for the corresponding slot in the audio frame that immediately follows. the vra enable bit must be set to 1 to enable ?on-demand? data transfers. if the vra enable bit is not set, the codec default s to 48 khz transfers and every audio frame include s an active slot request flag and data transfer s every frame. for variable sample rate output, the codec examines its sample rate control registers, the state of the fifos, and the incoming sdata_out tag bits at the beginning of each audio output frame to determine which slotreq bits to set active (low). slotreq bits are asserted during the current audio input frame for active output slots, which will require data in the next audio output frame. for variable sample rate input, the tag bit for each input slot indicates whether valid data is present or not. thus, even in variable sample rate mode, the codec is always the master: for sdata_in (codec to c ontroller), the codec sets the tag bit; for sdata_out ( c ontroller to codec), the codec sets the slotreq bit and then checks for the tag bit in the next frame. whenever vra is set to 0 , the pcm rate registers (2ch and 32h) are overwritten with bb80h (48 khz ). 8.1.20.2. spdif the spdif bit in the extended audio status control register is used to enable and disable the spdif functionality within the STAC9752/9753 . if the spdif is set to a 1, then the function is enabled , and when set to a 0 it is disabled. 8.1.20.3. spcv (spdif configuration valid) the spcv bit is read only and indicates whether or not the spdif system is set up correctly. when spcv is a 0, it indicates the spdif configuration is invalid. when spcv is a 1, it indicates the spdif configuration is valid. 8.1.20.4. spsa1, spsa0 (spdif slot assignment) spsa1 and spsa0 combine to provide the slot assignments for the spdif data. the following details the slot assignment relationship between spsa1 and spsa0. the STAC9752/9753 are amap compliant with the following table. 1 0 reserved bit not used, should read back 0 0 0 vra enable 0 = vra disabled, dac and adc set to 48 khz (registers 2ch and 32h loaded with the value bb80h) 1 = vra enabled, reg. 2ch & 32h control sample rate bit(s) reset value name description
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 63 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1.21. pcm dac rate registers (2ch and 32h) the internal sample rate for the dacs and adcs are controlled by a value in these read/write regis- ters ( that contain a 16-bit unsigned value between 0 and 65535 ) representing the conversion rate in h ertz (hz) . in vra mode (register 2ah bit d0 = 1), if the value written to these registers is supported , that value will be echoed back when read ; otherwise the closest (higher in the case of a tie) sample rate is supported and returned. per pc 99 / pc 2001 specification, independent sample rates are supported for record and playback. whenever vra is set to 0 the pcm rate registers (2ch and 32h) will be loaded with bb80h (48 khz ). if vra is set to a 0, any write to this address will be ignored and the rate remains at 48 khz. 8.1.22. pcm dac rate (2ch) default: bb80h (see table20: page63) 8.1.23. pcm lr adc rate (32h) default: bb80h (see table20: page63) table 19. a map compliant codec id function spsa = 00 slot assignment spsa = 01 slot assignment spsa = 10 slot assignment spsa = 11 slot assignment 00 2-ch primary w/spdif 3 & 4 7 & 8* 6 & 9 10 & 11 01 2-ch dock codec w/spdif 3 & 4 7 & 8 6 & 9* 10 & 11 10 +2-ch surr w/ spdif 3 & 4 7 & 8 6 & 9* 10 & 11 11 +2-ch cntr/lfe w/ spdif 3 & 4 7 & 8 6 & 9 10 & 11* note: * indicates the default slot assignment table 20. hardware supported sample rates sample rate sr[15:0] value 8 khz 1f40h 11.025 khz 2b11h 16 khz 3e80h 22.05 khz 5622h 32 khz 7d00h 44.1 khz ac44h 48 khz bb80h d15 d14 d13 d12 d11 d10 d9 d8 sr15 sr14 sr13 sr12 sr11 sr10 sr9 sr8 d7 d6 d5 d4 d3 d2 d1 d0 sr7 sr6 sr5 sr4 sr3 sr2 sr1 sr0 d15 d14 d13 d12 d11 d10 d9 d8 sr15 sr14 sr13 sr12 sr11 sr10 sr9 sr8 d7 d6 d5 d4 d3 d2 d1 d0 sr7 sr6 sr5 sr4 sr3 sr2 sr1 sr0
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 64 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.1.24. spdif control (3ah) d efault: 2000h 8.2. general purpose input & outputs 8.2.1. eapd eapd can act as a gpio, but is unaffected by the following registers. to use eapd as a gpio, use register 74h, the eapd access register located in section 8.4.11: page77. additional information about eapd can also be found in section 8.1.18.3: page59. d15 d14 d13 d12 d11 d10 d9 d8 v drs spsr1 spsr2 l cc6 cc5 cc4 d7 d6 d5 d4 d3 d2 d1 d0 cc3 cc2 cc1 cc0 pre copy /audio pro bit(s) reset value access name description (note 1-2) 15 in 2.3 v v alidity: this bit affects the ?validity? flag, bit [ 28 ] transmitted in each s/pdif subframe, and enables the s/pdif transmitter to maintain connection during error or mute conditions. subframe bit[28] = 0 indicates that data is valid for conversion at the receiver, 1 indicates invalid data (not suitable for conversion at the receiver) . i f ?v? = 1, then each s/pdif subframe (left & right) should have bit[28] ?validity? flag = 1 or set based on the assertion or de-assertion of the ac'97 ?vforce? bit within the extended audio status and control register (d15, register 2ah) . 14 0 read only drs 1 = double rate spdif support (always = 0) 13:12 10 read & write spsr[1,0] spdif sample rate. 00 - 44.1 khz rate 01 - reserved 10 - 48 khz rate (default) 11 - 32 khz rate 11 0 read & write l generation level is defined by the iec standard, or as appropriate . 10:4 0 read & write cc[6, 0] category code is defined by the iec standard or as appropriate by media. 3 0 read & write pre 0 = pre-emphasis = 0 m sec 1 = pre-emphasis = 50/15 m sec 2 0 read & write copy 0 = copyright not asserted 1 = copyright is asserted 1 0 read & write /audio 0 = pcm data 1 = non-audio or non-pcm format 0 0 read & write pro 0 = consumer use of the channel 1 = professional use of the channel
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 65 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.2.2. gpio pin definitions gpio pins are programmable to have input/output functionality. the data values (status) for these pins are all in one register with input/output configuration in a separate register. control of gpio pins configured for output is achieved by setting the corresponding bit in output slot 12; status of gpio pins configured for input is returned on input slot 12. the codec must constantly set the gpio pins that are configured for output, based upon the value of the corresponding bit position of the control slot 12. the codec should ignore output slot 12 bits that correspond to gpio control pins config- ured as inputs. the codec must constantly update status on input slot 12, based upon the logic level detected at each gpio pin configured for input. a gpio output pin value that is written via slot 12 in the current frame will not affect the gpio status that is returned in that particular write frame. this slot - 12 based control/status protocol minimizes the latency and complexity, especially for host-based controllers and host data pump software, and provides high speed monitoring and con- trol, above what could be achieved with command/status slots. for host-based implementations , most ac ?97 registers can be shadowed by the driver in order to provide immediate response when read by the processor, and gpio pins configured as inputs should be capable of triggering an inter- rupt upon a change of status. the ac-link request for gpio pin status is always delayed by at least one frame time. read-mod- ify-write operation s across the ac-link will incur latency that must be accounted for by the software driver or ac ?97 digital controller firmware. pci retries should be kept to a minimum wherever possi- ble. 8.2.3. gpio pin implementatio n the gpios are set to a high impedance state on power-on or a cold reset. it is up to the ac?97 digi- tal controller to first enable the output after setting it to the desired state. 8.2.4. extended modem status and control register (3eh) default: 0100 h d15 d14 d13 d12 d11 d10 d9 d8 reserved pra d7 d6 d5 d4 d3 d2 d1 d0 reserved gpio bit(s) access reset value name description 15:9 read only 0 reserved bit not used, should read back 0 8 read / write 1 pra 0 = gpio powered up / enabled 1 = gpio powered down / disabled 7:1 read only 0 reserved bit not used, should read back 0 0 read only 0 gpio 0 = gpio not ready (powered down) 1 = gpio ready (powered up)
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 66 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.2.5. gpio pin configuration register (4ch) default: 0003h 8.2.6. gpio pin polarity/type register (4eh) default: ffffh 8.2.7. gpio pin sticky register (50h) default: 0000h d15 d14 d13 d12 d11 d10 d9 d8 reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved gc1 (gpio1) gc0 (gpio0) bit(s) access reset value name description 15:2 read only 0 reserved bit not used, should read back 0 1 read / write 1 gc1 0 = gpio1 configured as output 1 = gpio1 configured as input 0 read / write 1 gc0 0 = gpio0 configured as output 1 = gpio0 configured as input d15 d14 d13 d12 d11 d10 d9 d8 reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved gp1 (gpio1) gp0 (gpio0) bit(s) access reset value name description 15:2 read only 0 reserved bit not used, should read back 0 1 read / write 1 gp1 0 = gpio1 input polarity inverted, cmos output drive. 1 = gpio1 input polarity non-inverted, open-drain output drive. 0 read / write 1 gp0 0 = gpio0 input polarity inverted, cmos output drive. 1 = gpio0 input polarity non-inverted, open-drain output drive. d15 d14 d13 d12 d11 d10 d9 d8 reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved gs1 (gpio1) gs0 (gpio0) bit(s) access reset value name description 15:2 read only 0 reserved bit not used, should read back 0 1 read / write 0 gs1 0 = gpio1 non sticky configuration. 1 = gpio1 sticky configuration. 0 read / write 0 gs0 0 = gpio0 non sticky configuration. 1 = gpio0 sticky configuration.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 67 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.2.8. gpio pin mask register (52h) default: 0000h 8.2.9. g pio pin status register (54h ) default: 0000h d15 d14 d13 d12 d11 d10 d9 d8 reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved gw1 (gpio1) gw0 (gpio0) bit(s) access reset value name description 15:2 read only 0 reserved bit not used, should read back 0 1 read / write 0 gw1 0 = gpio1 interrupt not passed to gpio_int slot 12. 1 = gpio1 interrupt is passed to gpio_int slot 12. 0 read / write 0 gw0 0 = gpio0 interrupt not passed to gpio_int slot 12. 1 = gpio0 interrupt is passed to gpio_int slot 12. d15 d14 d13 d12 d11 d10 d9 d8 reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved gi1 (gpio1) gi0 (gpio0) bit(s) access reset value name description 15:2 read only 0 reserved bits not used, should read back 0 1 read / write x gi1 when gpio1 is configured as output and register h74 bit[0] = 0 (default), the value of this register will be placed on the gpio1 pad. when gpio1 is configured as output and register h74 bit[0] =1, the gpio1 pad will get its value from slot12. when gpio1 is configured as input and configured as a sticky bit, writing a 1 does nothing, writing a 0 clears this bit. when gpio1 is configured as input , this register reflects the value on the gpio1 pad after interpretation of the polarity and sticky configurations. 0 read / write x gi0 when gpio0 is configured as output and register h74 bit[0] = 0 (default), the value of this register will be placed on the gpio0 pad. when gpio0 is configured as output and register h74 bit[0] =1, the gpio0 pad will get its value from slot12. when gpio0 is configured as input and configured as a sticky bit, writing a 1 does nothing, writing a 0 clears this bit. when gpio0 is configured as input , this register reflects the value on the gpio0 pad after interpretation of the polarity and sticky configurations.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 68 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.3. e xtended codec registers page structure definition registers 60h-68h are the extended codec registers: these registers allow for the defi- nition of further capabilities. these bits provide a paged address space for extended codec information. the page selector bits in the audio interrupt and paging register (register 24h bits 3:0) control the page of information viewed through this page window. 8.3.1. e xtended registers page 00 page 00 of the extended codec registers is reserved for vendor specific use. driver writ- ers should not access these registers unless the vendor id register has been checked first to ensure that the vendor of the ac'97 component has been identified and the usage of the vendor defined registers understood. 8.3.2. extended registers page 01 the usage of page 01 of the extended codec registers is defined in register 24h found in section 8.1.17: page57 . 8.3.3. extended registers page 02, 03 pages 02 and 03 of the extended codec registers are reserved for future use.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 69 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.4. STAC9752/9753 paging registers the ac ?97 specification rev 2.3 uses a paging mechanism in order to increase the number of regis- ters. the registers currently used in the paging are 60h to 6eh. for a dditional information about the extended codec registers, please refer to section 8.3: page68. one of two pages can be made active at any time, set in register 24h. register 24h is the audio interrupt and paging register. additional details about register 24h is located in section 8.1.17: page57. if page 00h is active, registers 60h to 6eh are vendor specific. if page 01h is active, registers 60h to 6eh have the following functionality: 8.4.1. codec class/rev (60h page 01h ) register 24h must be set to page 01h to access this register. default: 12xxh reg name function location 60h codec class/revision provides the codec class and a vendor specified revision identifier. 8.4.1: page69 62h pci svid allows for population by the system bios to identify the pci sub system vendor id. 8.4.2: page70 64h pci ssid allows for population by the system bios to identify the pci sub system id. note:: page70 66h function select provides the type of audio function being selected and which jack conductor the selected value is measured from. note:: page70 68h function information includes information about gain, inversion, buffer delays, information validity, and function information presence. 8.4.5: page72 6ah sense register includes information about the connector/jack location, input verses output sensing, the order of the sense results, and the idt specific sense results. 8.4.7: page74 6ch reserved 6eh reserved d15 d14 d13 d12 d11 d10 d9 d8 reserved cl4 cl3 cl2 cl1 cl0 d7 d6 d5 d4 d3 d2 d1 d0 rv7 rv6 rv5 rv4 rv3 rv2 rv1 rv0 bit(s) reset value name description 15-13 reserved reserved-not defined
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 70 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.4.2. pci svid (62h page 01h ) register 24h must be set to page 01h to access this register. default: ffffh note: this register is populated by the bios and does not reset on reset#. 8.4.3. pci ssid (64h page 01h ) register 24h must be set to page 01h to access this register. default: ffffh note: this register is populated by the bios and does not reset on reset#. 12-8 cl4:cl0 codec compatibility class (ro) this is a codec vendor specific field to define software compatibility for the codec. software reads this field together with the codec vendor id (reg 7c-7eh) to determine vendor specific programming interface compatibility. software can rely on vendor specific register behavior to be compatible among vendor codecs of the same class. 00h - field not implemented 01h-1fh - vendor specific compatibility class code equals vendor id2 (reg 7eh) bits d7 to d0 7-0 rv7:rv0 revision id: (ro) this register specifies a device specific revision identifier. the value is chosen by the vendor. zero is an acceptable value. this field should be viewed as a vendor defined extension to the codec id. this number changes with new codec stepping of the same codec id. equals major rev bits (reg 6ch) bits d7 to d0. d15 d14 d13 d12 d11 d10 d9 d8 pvi15 pvi14 pvi13 pvi12 pvi11 pvi10 pvi9 pvi8 d7 d6 d5 d4 d3 d2 d1 d0 pvi7 pvi6 pvi5 pvi4 pvi3 pvi2 pvi1 pvi0 bit(s) reset value name description 15-0 pvi15:pvi0 pci sub system vendor id: this field provides the pci sub system vendor id of the audio or modem sub assembly vendor (i.e., cnr manufacturer, motherboard vendor). this is not the codec vendor pci vendor id, nor the ac'97 controller pci vendor id. if data is not available, returns ffffh. d15 d14 d13 d12 d11 d10 d9 d8 pi15 pi14 pi13 pi12 pi11 pi10 pi9 pi8 d7 d6 d5 d4 d3 d2 d1 d0 pi7 pi6 pi5 pi4 pi3 pi2 pi1 pi0 bit(s) reset value name description 15-0 pi15:pvi0 pci sub system id: this field provides the pci sub system id of the audio or modem sub assembly (i.e., cnr model, motherboard sku). this is not the codec vendor pci id, nor the ac'97 controller pci id. information in this field must be available for ac'97 controller reads when codec ready is asserted in ac-link. if data is not available, returns ffffh. bit(s) reset value name description
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 71 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.4.4. f unction select (66h page 01h ) register 24h must be set to page 01h to access this register. default: 0000h note: this register does not reset on reset#. d15 d14 d13 d12 d11 d10 d9 d8 reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved fc3 fc2 fc1 fc0 t/r bit(s) reset value name description 15-5 reserved reserved 4-1 00h fc3:fc0 function code bits : 0 0h - line out (master out) 01h - head phone out (aux out) setting the t/r bit to 0 = left,1 = right 02h - dac 3 (c/lfe) - not supported 03h - spdif out 04h - phone in 05h - mic1 (microphone select = 0) 06h - mic2 (microphone select = 1 ) 0 7h - line in 08h - cd in 09h - video in 0ah - aux in 0bh - mono out 0 c- 0fh - reserve d for supported jack and microphone sense functions, see table21: page71. the function code bits are us ed to read register 68h (page 01h) and register 6ah (page 01h) . mono i/o should report relevant sense and function information on tip, and report n o t-s upported on ring. s etting the function code to unsupported values w ill return a 0 when accessing the information valid bit in page 01, register 68h, bit 5 . 0 0 t/r tip or ring selection bit.this bit sets which jack conductor the sense value is measured from. software will program the corresponding the ring/tip selector bit together with the i/o number in bits fc[3:0]. 0 - tip (left) 1 - ring (right) table 21. supported jack and microphone sense functions function code i/o sense capability 00h line_out jack sense 01h headphone_out jack sense 05h mic1 microphone sense 06h mic2 microphone sense
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 72 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.4.5. function information (68h page 01h ) register 24h must be set to page 01h to access this register. default: 00xxh, see table 22: page73. d15 d14 d13 d12 d11 d10 d9 d8 g4 g3 g2 g1 g0 inv dl4 dl3 d7 d6 d5 d4 d3 d2 d1 d0 dl2 dl1 dl0 iv reserved fip bit(s) reset value name description 15 0 g4 gain sign bit: the codec updates this bit with the sign of the gain value present in g[3:0]. the bios updates this to take into consideration external amplifiers or other external logic when relevant . g[4] indicates whether the value is a gain or attenuation . gain in the g4 bit is in terms of db. this bit is read/write and is only reset on por and not by reset#. 14-11 0 g3:g0 gain bits: the codec updates these bits with the gain value (db relative to level-out) in 1.5dbv increments. the bios updates these to take into consideration external amplifiers or other external logic when relevant. g[0:3] indicates the magnitude of the gain. g[4] indicates whether the value is a gain or attenuation . for gain/attenuation settings, see table 23: page73 . these bits are read/write and are not reset on reset#. 10 inv inversion bit: indicates that the codec presents a 180 degree phase shift to the signal. 0h - no inversion reported 1h - inverte d this bit is read/write and is not reset on reset# . bios should invert for each inverting gain stage. 9-5 dl4:dl0 buffer delays: codec will provide number a delay measurement for the input and output channels. software will use this value to accurately calculate audio stream position with respect to what is been reproduced or recorded. these values are in 20.83 m s (1/48000 second) units . for output channels, this timing is from the end of ac link frame in which the sample is provided, until the time the analog signal appears at the output pin. for input streams, this is from when the analog signal is presented at the pin until the representative sample is provided on the ac link . analog in and out paths are not considered as part of this delay. the measurement is a ?typical? measurement, at a 48 khz sample rate, with minimal in-codec processing (i.e., 3d effects are turned off. ) 00h - information not provided 01h?1eh - buffer delay in 20.83 m s units 1fh - reserve d these bits are read/write and are not reset on reset# . the default value is the delay internal to the codec. the bios may add to this value the known delays external to the codec, such as for an external amplifier.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 73 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.4.6. d igital audio control (6ah, page 00h) to access register 6ah, page 00h must be selected in register 24h. 4 1 iv information valid bit: indicates whether a sensing method is provided by the codec and if information field is valid. this field is updated by the codec . 0 - after codec reset# de-assertion, it indicates the codec does not provides sensing logic and this bit will be read only. after a sense cycle is completed, indicates that no information is provided on the sensing method . 1 - after codec reset# de-assertion, it indicates the codec provides sensing logic for this i/o and this bit is read/write. after clearing this bit by writing 1, when a sense cycle is completed the assertion of this bit indicates that there is valid information in the remaining descriptor bits. writing 0 to this bit has no effect . bios should not write this bit, as it is reset on reset# . 3-1 0 reserved bits not used, should read back 0 0 na fip function information presen t this bit set to a 1 indicates that the g[4:0], inv, dl[4:0] (register 68h , page 01h ) and st[2:0] (register 6ah, page 01h) a re supported and r/w capable . this bit is read only. table 22. reg 68h default values reg 66h function code reg 68h default value 00h line out 0010h 01h headphone out 0010h 05h mic1 0010h 06h mic2 0010h all other function codes 0000h for reset#: reg 68h default value is 0000h. table 23. gain or attenuation example s g[4:0] gain or attenuation (db relative to level-out) 00000 0 dbv 00001 +1.5 dbv 01111 +24 dbv 10001 -1.5 dbv 11111 -24 dbv table 24. register 68h/page 01h bit overview bit bit r/w overview d15:d5 read/write and only reset on por (power on reset) and not by reset#. d4 read/write and should not be set by the bios d3:1 reserved d0 read only. bit(s) reset value name description
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 74 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing default: 0000h 8.4.7. s ense details (6ah page 01h ) register 24h must be set to page 01h to access this register. default: na d15 d14 d13 d12 d11 d10 d9 d8 reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved spor do1 rsvd bit(s) reset value name description 15: 3 0 reserved bits not used, should read back 0 2 0 spor over-ride register 2ah, d12 write-lock when spdif_en = 1. all bits except spdif sample-rate are affected (d13-d12). allows for sub-code changing on-the-fly. 1 0 do1 spdif digital output source selection: do1 = 0; pcm data from the ac-link to spdif do1 = 1; adc record data to spdif 0 0 reserved bits not used, should read back 0 d15 d14 d13 d12 d11 d10 d9 d8 st2 st1 st0 s4 s3 s2 s1 s0 d7 d6 d5 d4 d3 d2 d1 d0 or1 or0 sr5 sr4 sr3 sr2 sr1 sr1 bit(s) reset value name description 15-13 st2:st0 connector/jack location bits this field describes the location of the jack in the system. 0h - rear i/o panel 1h - front panel 2h - motherboard 3h - dock/external 4h:6h - reserved 7h - no connection/unused i/ o t hese bits are read/write. 12-8 s4:s0 sensed bits meaning relates to the i/o being sense as output or inputs . sensed bits (outputs): see table 25: page75. this field allows for the reporting of the type of output peripheral/device plugged in the jack. values specified below should be interrogated in conjunction with the sr[5:0] and or[1:0] bits for accurate reporting . s ensed bits (inputs): see table 26: page75. this field allows for the reporting of the type of input peripheral/device plugged in the jack. values specified below should be interrogated in conjunction with the sr[5:0] and or[1:0] bits for accurate reporting . this field is read only.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 75 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 7-6 or1:0 order bits. these bits indicate the order the sense result bits sr[5:0] are using. 00 - 10 0 (i.e., ohms) 01 - 10 1 (i.e., 10 ohms) 10 - 10 2 (i.e., 100 ohms) 11 - 10 3 (i.e., 1k ohms) 5-0 sr5:sr0 sense result bits these bits are used to report a vendor specific fingerprint or value. (resistance, impedance, reactance, etc.). this field is read only. table 25. sensed bits (outputs) reported value output peripheral/device 0h data not valid. indicates that the reported value(s) is (are) invalid. 1h no connection. indicates that there are no connected devices. 2h fingerprint. indicates a specific fingerprint value for devices that are not specified or unknown. 3h speakers (8 ohms) 4h speakers (4 ohms) 5h powered speakers 6h stereo headphone 7h reserved 8h reserved 9h headset (mono speaker left channel and microphone.) ah other. allows a vendor to report sensing other type of devices/peripherals. sr[5:0] together with or[1:0] provide information regarding the type of device sensed. bh-eh reserved fh unknown (use fingerprint) table 26. sensed bits (inputs) reported value input peripheral/device 0h data not valid. indicates that the reported value(s) is (are) invalid. 1h no connection. indicates that there are no connected devices. 2h fingerprint. indicates a specific fingerprint value for devices that are not specified. 3h microphone (mono) 4h reserved 5h stereo line in (ce device attached) 6h reserved 7h reserved 8h reserved 9h headset (mono speaker left channel and microphone.) ah other. allows a vendor to report sensing other type of devices/peripherals. sr[5:0] together with or[1:0] provide information regarding the type of device sensed. bh-eh reserved fh unknown (use fingerprint) bit(s) reset value name description
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 76 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.4.8. revision code (6ch) to access register 6ch, page 00h must be selected in register 24h. default: 00xx h 8.4.9. analog special (6eh) to access register 6eh, page 00h must be selected in register 24h. default: 1000h d15 d14 d13 d12 d11 d10 d9 d8 minorrev d7 d6 d5 d4 d3 d2 d1 d0 majorrev bit(s) reset value name description 15:8 00h minorrev minor revision id. these bits are read only and will be updated based on minor device changes which will not require software changes. 7:0 xxh majorrev major revision id. these bits are read only and will be updated based on major device changes. d15 d14 d13 d12 d11 d10 d9 d8 reserved ac97mix reserved d7 d6 d5 d4 d3 d2 d1 d0 rs v d mutefix disable adcslt1 adcslt0 rsvd mic gain val splyovr en splyovr val bit(s) reset value name description 15:13 0 reserved bits not used, should read back 0 12 1 ac97mix 0 = mixer record contains a mix of all mono and stereo analog input signals, not the dac (all analog mode). 1 = mixer record contains a mix of all mono and stereo analog input signals plus the dac signal (ac?97 mode). this bit only has an effect when either stereo mix or mono mix is selected as the record source in reg 1ah . the ?all? mode is useful in conjunction with the pop bypass mode (reg 20h; d15) to record all analog sources, perform further processing in the digital domain, including combining with other pcm data, and routing through the dacs directly to line out, headphone out, or mono out . a stereo mix recording will be affected by the setting of the 3d effects bit (reg 20h; d13) 11:7 0 reserved bits not used, should read back 0 6 0 mutefix disable 0 = mute fix enabled 1 = mute fix disabled when this bit is zero, and either channel is set to -46.5db attenuation ( 1fh ) , then that channel is fully muted. when this bit is one, then operation is per ac?97 specification. 5:4 0 adcslt1:0 select slots for adc data on aclink 00 = left slot 3, right slot 4 01 = left slot 7, right slot 8 10 = left slot 6, right slot 9 11 = left slot 10, right slot 11
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 77 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.4.10. analog current adjust (72h) to unlock register 72h, write 0xabba to register 70h. default: 0000h 8.4.11. eapd access register (74h) default: 0800h 3 0 reserved reserved 2 0 mic gain val adds +10db gain to the selected mic input. use in conjunction with boosten (reg. 0eh;d6 ) boosten micgainval 0 0 = 0 db 0 1 = 10 db 1 0 = 20 db 1 1 = 30 db 1 0 splyovr_en supply override bit allows override of the supply detect. 0 = no override on supply detect 1 = override supply detect with bit 0 0 0 splyovr_va l supply override value provides the analog voltage operation values. 0 = force 3.3 v operation 1 = force 5 v operation d15 d14 d13 d12 d11 d10 d9 d8 reserved d7 d6 d5 d4 d3 d2 d1 d0 int apop reserved bit(s) reset value name description 15: 8 0 reserved reserved 7 0 int_apop 0 = anti pop enabled 1 = anti pop disable d the STAC9752/9753 includes an internal power supply anti-pop circuit that prevents audible clicks and pops from being heard when the codec is powered on and off. this function is accomplished by delaying the charge/discharge of the vref capacitor (pin 27). a c vref value of 1 m f will cause a turn-on delay of roughly 3 seconds, which will allow the power supplies to stabilize before the codec outputs are enabled. the delay will be extended to 30 seconds if a c vref value of 10 m f is used. the codec outputs are also kept stable for the same amount of time at power-off to allow the system to be gracefully turned off. the anti pop bit allows this delay circuit to be bypassed for rapid production testing. any external component anti-pop circuit is unaffected by the internal circuit. 6:0 0 reserved reserved d15 d14 d13 d12 d11 d10 d9 d8 eapd reserved eapd_oen reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved intdis gpioacc gpioslt12 bit(s) reset value name description
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 78 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.4.12. high pass filter bypass (78h) t o unlock register 78h, write 0xabba to register 76h. default: 0000h bit(s) reset value name description 15 0 eapd eapd data enable eapd data is output on the eapd pin when bit d11 = 1 eapd data is input on the eapd pin when bit d11 = 0 14:12 0 reserved bits not used, should read back 0 11 1 eapd_oen eapd pin enable 0 = eapd configured as input pin 1 = eapd configured as output pin 10:3 0 reserved bits not used, should read back 0 2 0 intdis interrupt disable option. interrupts cleared by writing a 1 to i4 (reg24h:d15) 0 = will clear both sense and gpio interrupts 1 = will only clear sense interrupts. gpio interrupts will have to be cleared in reg54h. 1 0 gpioacc gpio access 0 = aclink access from gpio pads 1 = aclink access from gpio register 54h 0 0 gpioslt12 0 = gpio0/1 access via reg 54h when gpio is set as an output, for input, slot 12 data will be 0h. 1 = gpio0/1 access via slot 12 when gpio is set as an output, for inputs, reg54h will not be updated. this can only be used if a modem codec is not present in the system and using slot 12. d15 d14 d13 d12 d11 d10 d9 d8 reserved d7 d6 d5 d4 d3 d2 d1 d0 reserved adc hpf byp bit(s) reset value name description 15:1 0 reserved bits not used, should read back 0 0 0 adc hpf byp 0 = adc high pass filter active, (normal operation) 1 = adc high pass filter bypass
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 79 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 8.5. vendor id1 and id2 (index 7ch and 7eh) these two registers contain four 8-bit id codes. the first three codes have been assigned by microsoft using their plug and play vendor id methodology. the fourth code is a manufacturer assigned code identifying the STAC9752/9753 . the id1 register (index 7ch) contains the value 8384h, which is the first (83h) and second (84h) bytes of the microsoft id code. the id2 register (index 7eh) contains the value 7652h, which is the third (76h) byte of the microsoft id code, and 52h which is the STAC9752/9753 id code. 8.5.1. vendor id1 (7ch) default: 8384h 8.5.2. vendor id2 (7eh) default: 7652h d15 d14 d13 d12 d11 d10 d9 d8 1 0 0 0 0 0 1 1 d7 d6 d5 d4 d3 d2 d1 d0 1 0 0 0 0 1 0 0 d15 d14 d13 d12 d11 d10 d9 d8 0 1 1 1 0 1 1 0 d7 d6 d5 d4 d3 d2 d1 d0 0 1 0 1 0 0 1 0
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 80 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 9. low power modes the STAC9752/9753 is capable of operating at reduced power when no activity is required. the state of power down is controlled by the powerdown register (26h). there are 7 commands of sep- arate power down. the power down options are listed in table 27. the first three bits, pr [2:0] , can be used individually or in combination with each other, and control power distribution to the adcs, dacs and mixer. the last analog power control bit, pr3, affects analog bias and reference voltages, and can only be used in combination with pr 0 , pr 1 , and pr 2 . pr3 essentially removes power from all analog sections of the codec, and is generally only asserted when the codec will not be needed for long periods. pr0 and pr1 control the pcm adcs and dacs only. pr2 and pr3 do not need to be ?set? before a pr4, but pr0 and pr1 should be ?set? before pr4. pr5 disables the dsp clock and does not require an external cold reset for recovery. pr6 disables the headphone driver amplifier for additional analog power sa ving. figure 22. example of STAC9752/9753 powerdown/powerup flow the figure 22 illustrates one example procedure to do a complete powerdown of STAC9752/9753 . from normal operation, sequential writes to the powerdown register are performed to power down STAC9752/9753 a section at a time. after everything has been shut off, a final write (of pr4) can be executed to shut down the ac-link. the part will remain in sleep mode with all its registers holding their static values. to wake up, the ac'97 controller will send an extended pulse on the sync line, issuing a warm reset. this will restart the ac-link (resetting pr4 to zero). the STAC9752/9753 can also be woken up with a cold reset. a cold reset will reset all of the registers to their default states (paged registers are semi-exempt) . when a section is powered back on, the powerdown control/ status register (index 26h) should be read to verify that the section is ready (stable) before attempt- ing any operation that requires it. table 27. low power modes grp bits function pr0 pcm_in adcs & input mux powerdown pr1 pcm_out dacs powerdown pr2 analog mixer powerdown (vref still on) pr3 analog mixer powerdown (vref off) pr4 digital interface (ac-link) powerdown (bit_clk forced low) pr5 digital clock disable, bit_clk still on pr6 powerdown headphone_out warm reset cold reset ready =1 normal adcs off pr0 dacs off pr1 analog off pr2 or pr3 digital i/f off pr4 shut off ac-link default pr0=0 & adc=1 pr1=0 & dac=1 pr2=0 & anl=1 pr0=1 pr1=1 pr2=1 pr4=1
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 81 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing figure 23. powerdown/powerup flow with analog still alive figure 23 illustrates a state when all the mixers should work with the static volume settings that are contained in their associated registers. this configuration can be used when playing a cd (or exter- nal line_in source) through STAC9752/9753 to the speakers, while most of the system in low power mode. the procedure for this follows the previous except that the analog mixer is never shut down. warm reset normal adcs off pr0 dacs off pr1 digital i/f off pr4 shut off ac-link pr0=0 & adc=1 pr1=0 & dac=1 pr0=1 pr1=1 pr4=1
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 82 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 10. multiple codec support the STAC9752/9753 provides support for the multi-codec option according to the intel ac'97, rev 2.3 specification. by definition , there can be only one primary codec (codec id 00) and up to three secondary codecs (codec ids 01,10, and 11). the codec id functions as a chip select. secondary devices therefore have completely orthogonal register sets; each is individually accessi- ble and they do not share registers. 10.1. primary/secondary codec selection in a multi-codec environment the codec id is provided by external programming of pins 45 and 46 (cid0 and cid1). the cid pin electrical function is logically inverted from the codec id desig- nation. the corresponding pin state and its associated codec id are listed in the ?codec id selection? table. 10.1.1. primary codec operation as a primary device , the STAC9752/9753 is completely compatible with existing ac'97 definitions and extensions. primary codec registers are accessed exactly as defined in the ac'97 component specification and ac'97 extensions. the STAC9752/9753 operates as primary by default, and the external id pins (45 and 46), have internal pull-ups so that these pins may be left as no-connects for operation as a primary . when used as the primary codec, the STAC9752/9753 generates the master ac-link bit_clk for both the ac'97 digital controller and any secondary codecs. the STAC9752/9753 can support up to four loads of 10 k w and 50 pf on the bit_clk output. this is to ensure that up to four codec implementations will not load down the clock output. 10.1.2. secondary codec operation when the STAC9752/9753 is configured as a secondary device the bit_clk pin is configured as an input at power up. using the bit_clk provided by the primary codec insures that everything on the ac-link will be synchronous. as a secondary device it can be defined as codec id 01, 10, or 11 in the two-bit field(s) of the extended audio and/or extended modem id register(s). table 28. codec id selection cid1 state cid0 state codec id codec status dvdd or floating dvdd or floating 00 primary dvdd or floating 0 v 01 secondary 0 v dvdd or floating 10 secondary 0 v 0 v 11 secondary
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 83 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 10.2. secondary codec register access definitions the ac'97 digital controller can independently access primary and secondary codec registers by using a 2-bit codec id field (chip select) which is defined as the lsbs of output slot 0. for sec- ondary codec access, the ac'97 digital controller must invalidate the tag bits for slot 1 and 2 command address and data (slot 0, bits 14 and 13) and place a non-zero value (01, 10, or 11) into the codec id field (slot 0, bits 1 and 0). as a secondary codec, the STAC9752/9753 will disregard the command address and command data (slot 0, bits 14 and 13) tag bits when it sees a 2-bit codec id value (slot 0, bits 1 and 0) that matches its configuration. in a sense the secondary codec id field functions as an alternative valid command address (for secondary reads and writes) and command data (for secondary writes) tag indicator. secondary codecs must monitor the frame valid bit, and ignore the frame (regardless of the state of the secondary codec id bits) if it is not valid. ac'97 digital controllers should set the frame valid bit for a frame with a secondary register access, even if no other bits in the output tag slot except the secondary codec id bits are set. this method is designed to be backward compatible with existing ac'97 controllers and codecs. there is no change to output slot 1 or 2 definitions. using three codecs typically requires a controller to support sdata_in2. table 29. secondary codec register access slot 0 bit definitions output tag slot (16-bits) bit description 15 frame valid 14 slot 1 valid command address bit (?primary codec only) 13 slot 2 valid command data bit (?primary codec only) 12-3 slot 3-12 valid bits as defined by ac'97 2 reserved (set to 0) ?1-0 2-bit codec id field (00 reserved for primary; 01, 10, 11 indicate secondary) note: ? new definitions for secondary codec register access
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 84 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 11. testability the STAC9752/9753 has two test modes. one is for ate in-circuit test and the other is restricted for manufacturer?s internal use. the STAC9752/9753 enters the ate in - circuit test mode if sdata_out is sampled high at the trailing edge of reset#. once in the ate test mode, the digital ac-link outputs (bit_clk and sdata_in) are driven to a high impedance state. this allows ate in-circuit testing of the ac'97 controller. use of the ate test mode is the recommended means of removing the codec from the ac-link when another codec is to be used as the primary. this case will never occur during standard operating conditions. once either of the two test modes have been entered, the STAC9752/9753 must be issued another reset# with all ac-link signals held low to return to the normal operating mode. 11.0.1. ate test mode ate test mode allows for in - circuit testing to be completed at the board level. for this to work, the outputs of the device must be driven to a high impedance state (z) . internal pullups for digital i/o pins must be disabled in this mode. this mode initiates on the rising edge of reset# pin. only a cold reset will exit the ate test mode. note: pins 31, 33, and 34 are no connects. table 30. test mode activation sync sdata_out description 0 0 normal ac'97 operation 0 1 ate test mode 1 0 idt internal test mode 1 1 reserved table 31. ate test mode operation pin name pin # function description sdata_out 5 1 must be held high at the rising edge of reset# bit_clk 6 z sdata_in 8 z sync 10 0 must be held low at rising edge of reset# reset# 11 1 n.c . 31 z always an input n.c. 33 z always an input n.c . 34 z always an input gpio0 43 z gpio1 44 z cid0 45 z cid1 46 z eapd 47 z spdif 48 z
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 85 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 12. pin description d v d d 1 1 x t l _ i n 2 x t l _ o u t 3 d v s s 1 4 s d a t a _ o u t 5 b i t _ c l k 6 d v s s 2 7 s d a t a _ i n 8 d v d d 2 9 s y n c 1 0 r e s e t # 1 1 p c _ b e e p 1 2 24 line_in_r 23 line_in_l 22 mic2 21 mic1 20 cd_r 19 cd_gnd 18 cd_l 17 video_r 16 video_l 15 aux_r 14 aux_l 13 phone mono_out 37 avdd2 38 hp_out_l 39 h p_comm 40 hp_out_r 41 avss2 42 gpio 0 43 gpio 1 44 cid0 45 cid1 46 e apd 47 spdif 48 figure 24. pin description drawing pin 48: to enable spdif, use a 1 k w -10 k w external pulldown. to disable spdif, use a 1k w -10k w external pullup. do n ot leave pin 48 floating. the cd_gnd signal is an ac signal return for the two cd input channels. it is normally biased at about 2.5v. the name of the pin in the ac97 specification is cd_gnd, and this has confused many design- ers. it should not have any dc path to gnd. connecting the cd_gnd signal directly to ground will change the internal bias of the entire codec, and cause serious distortion. if there is no analog cd input, then this pin can be no-connect. 48-pin tqfp 3 6 l i n e _ o u t _ r 3 5 l i n e _ o u t _ l 3 4 n c 3 3 n c 3 2 c a p 2 3 1 n c 3 0 a f i l t 2 2 9 a f i l t 1 2 8 v r e f o u t 2 7 v r e f 2 6 a v s s 1 2 5 a v d d 1
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 86 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 12.1. digital i/o these signals connect the STAC9752/9753 to its ac'97 controller counterpart, an external crystal, multi-codec selection and external audio amplifier. note: pins 31, 33, and 34 are no connects. table 32. digital connection signals pin name pin # type description xtl_in 2 i 24.576 mhz crystal or external clock source xtl_out 3 i/o 24.576 mhz crystal sdata_out 5 i serial, time division multiplexed, ac'97 input stream bit_clk 6 i/o 12.288 mhz serial data clock sdata_in 8 o serial, time division multiplexed, ac'97 output stream sync 10 i 48 khz fixed rate sample sync reset# 11 i ac'97 master h/w reset n.c. 31 i idt internal test mode only . n.c. 33 i idt internal test mode only n.c. 34 i/o idt internal test mode only gpio0 43 i/o general purpose i/o gpio1 44 i/o general purpose i/o cid0 45 i multi-codec id select ? bit 0 cid1 46 i multi-codec id select ? bit 1 eapd 47 i/o external amplifier power down/gpio spdif 48 i/o spdif digital output pin 48: to enable spdif, use an 1 k w - 10 k w external pulldown. to disable spdif, use an 1k w - 10k w external pullup. do not leave pin 48 floating.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 87 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 12.2. analog i/o these signals connect the STAC9752/9753 to analog sources and sinks, including microphones and speakers. note: * unused input pins should be tied together and connected to ground through a capacitor (0.1 f suggested), except the mic inputs which should have a separate capacitor to ground. note: ? the cd_gnd signal is an ac signal return for the two cd input channels. it is normally biased at about 2.5v. the name of the pin in the ac97 specification is cd_gnd, and this has confused many designers. it should not have any dc path to gnd. connecting the cd_gnd signal directly to ground will change the internal bias of the entire codec, and cause serious distortion. if there is no analog cd input, then this pin can be no-connect. table 33. analog connection signals pin name pin # type description pc_beep 12 i* pc speaker beep pass-through phone 13 i* from telephony subsystem speakerphone aux_l 14 i* aux left channel aux_r 15 i* aux right channel video_l 16 i* video audio left channel video_r 17 i* video audio right channel cd_l 18 i* cd audio left channel cd_gnd ? 19 i* cd audio analog signal return (do not ground. see note. ? ) cd_r 20 i* cd audio right channel mic1 21 i* desktop microphone input mic2 22 i* second microphone input line_in_l 23 i* line in left channel line_in_r 24 i* line in right channel line_out_l 35 o line out left channel line_out_r 36 o line out right channel mono_out 37 o to telephony subsystem speakerphone hp_out_l 39 o headphone out left channel hp_comm 40 o headphone ground return hp_out_r 41 o headphone out right channel
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 88 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 12.3. filter/references these signals are connected to resistors, capacitors, or specific voltages. 12.4. power and ground signals table 34. filtering and voltage references signal name pin number type description vref 27 o analog ground (0.45 * vdd, at 5 v; or 0.41 * vdd at 3 v) vrefout 28 o reference voltage out 5 ma drive (intended for microphone bias) (~vdd/2) afilt1 29 o anti-aliasing filter cap - adc left channel afilt2 30 o anti-aliasing filter cap - adc right channel cap2 32 o adc reference cap table 35. power and ground signals pin name pin # type description avdd1 25 i analog vdd = 5.0 v or 3.3 v avdd2 38 i analog vdd = 5.0 v or 3.3 v avss1 26 i analog gnd avss2 42 i analog gnd dvdd1 1 i digital vdd = 3.3 v dvdd2 9 i digital vdd = 3.3 v dvss1 4 i digital gnd dvss2 7 i digital gnd
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 89 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 13. ordering information yy = 2 digit revision. contact sales for complete ordering number. add an ?r? to the end of the part number for tape and reel delivery. minimum order quantitiy is 2ku. 14. package drawing part number package temp range supply range STAC9752xxtaeyyx 48-pin rohs qfp 7mm x 7mm x 1.4mm 0 c to +70 c dvdd = 3.3v, avdd = 5.0v stac9753xxtaeyyx 48-pin rohs qfp 7mm x 7mm x 1.4mm 0 c to +70 c dvdd = 3.3v, avdd = 3.3v key lqfp dimensions in mm min. nom. max. a 1.40 1.50 1.60 a1 0.05 0.10 0.15 a2 1.35 1.40 1.45 d 8.80 9.00 9.20 d1 6.90 7.00 7.10 e 8.80 9.00 9.20 e1 6.90 7.00 7.10 l 0.45 0.60 0.75 e 0.50 c 0.09 - 0.20 b 0.17 0.22 0.27 48 pin lqfp e e 1 d d 1 pin 1 b a a 2 a 1 c e
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 90 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 15. solder reflow profile 15.1. standard reflow profile data note: these devices can be hand soldered at 360 o c for 3 to 5 seconds. from: ipc / jedec j-std-020c ?moisture/reflow sensitivity classification for nonhermetic solid state surface mount devices? (www.jedec.org/download). figure 25. reflow profile profile feature pb free assembly average ramp-up rate (ts max - tp) 3 o c / second max preheat temperature min (ts min ) temperature max (ts max ) time (ts min - ts max ) 150 o c 200 o c 60 - 180 seconds time maintained above temperature (t l ) time (t l ) 217 o c 60 - 150 seconds peak / classification temperature (tp) see ? package classification reflow temperatures? on page 91 . time within 5 o c of actual peak temperature (tp) 20 - 40 seconds ramp-down rate 6 o c / second max time 25 o c to peak temperature 8 minutes max note: all temperatures refer to topside of the package, measured on the package body surface.
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 91 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 15.2. pb free process - package classification reflow temperatures package type msl reflow temperature tqfp 48-pin 3 260 o c*
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 92 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 16. appendix a: programming registers reg # name d15 d14 d13 d12 d11 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 default 00h reset rsrvd se4 se3 se2 se1 se0 id9 id8 id7 id6 id5 id4 id3 id2 id1 id0 6a90h 02h master volume mute rsrvd ml5 ml4 ml3 ml2 ml1 ml0 reserved mr5 mr4 mr3 mr2 mr1 mr0 8000h 04h hp_out mixer volume mute rsrvd hpl5 hpl4 hpl3 hpl2 hpl1 hpl0 reserved hpr5 hpr4 hpr3 hpr2 hpr1 hpr0 8000h 06h master volume mono mute reserved mm5 mm4 mm3 mm2 mm1 mm0 8000h 0ah pc_beep volume mute x x f7 f6 f5 f f3 f2 f1 f0 pv3 pv2 pv1 pv0 rsrvd 0000h 0ch phone volume mute reserved gn4 gn3 gn2 gn1 gn0 8008h 0eh mic volume mute reserved boosten rsvd gn4 gn3 gn2 gn1 gn0 8008h 10h line in volume mute reserved gl4 gl3 gl2 gl1 gl0 reserved gr4 gr3 gr2 gr1 gr0 8808h 12h cd volume mute reserved gl4 gl3 gl2 gl1 gl0 reserved gr4 gr3 gr2 gr1 gr0 8808h 14h video volume mute reserved gl4 gl3 gl2 gl1 gl0 reserved gr4 gr3 gr2 gr1 gr0 8808h 16h aux volume mute reserved gl4 gl3 gl2 gl1 gl0 reserved gr4 gr3 gr2 gr1 gr0 8808h 18h pcm out volume mute reserved gl4 gl3 gl2 gl1 gl0 reserved gr4 gr3 gr2 gr1 gr0 8808h 1ah record select reserved sl2 sl1 sl0 reserved sr2 sr1 sr0 0000h 1ch record gain mute reserved gl3 gl2 gl1 gl0 reserved gr3 gr2 gr1 gr0 8000h 20h general purpose pop byp rsrvd 3d reserved mix ms lpbk reserved 0000h 22h 3d control reserved dp3 dp2 reserved 0000h 24h audio int. & paging i4 i3 i2 i1 i0 reserved pg3 pg2 pg1 pg0 0000h 26h powerdown ctrl/stat eapd pr6 pr5 pr4 pr3 pr2 pr1 pr0 reserved ref anl dac adc 000fh 28h extended audio id id1 id0 reserved rev1 rev0 amap ldac sdac cdac dsa1 dsa0 rsvd spdif dra vra 0a05h 2ah extended audio control/status vcfg prl/ rsvd prk/ rsvd prj/ rsvd pri/ rsvd spcv madc/ rsvd ldac/ rsvd sdac/ rsvd cdac/ rsvd spsa1 spsa0 vrm/ rsvd spdif dra/ rsvd vra 0400h* 2ch pcm dac rate sr15 sr14 sr13 sr12 sr11 sr10 sr9 sr8 sr7 sr6 sr5 sr4 sr3 sr2 sr1 sr0 bb80h 32h pcm lr adc rate sr15 sr14 sr13 sr12 sr11 sr10 sr9 sr8 sr7 sr6 sr5 sr4 sr3 sr2 sr1 sr0 bb80h 3ah spdif control v drs spsr1 spsr2 l cc6 cc5 cc4 cc3 cc2 cc1 cc0 pre copy #pcm/ audio pro 2000h 3eh extended modem status reserved pra reserved gpio 0100h 4ch gpio pin config reserved gc1 (gpio1) gc0 (gpio0) 0300h 4eh gpio pin polarity/type reserved gp1 (gpio1) gp0 (gpio0) ffffh 50h gpio pin sticky reserved gs1 (gpio1) gs0 (gpio0) 0000h 52h gpio pin mask reserved gw1 (gpio1) gw0 (gpio0) 0000h 54h gpio pin status reserved gi1 (gpio1) gi0 (gpio0) 0000h 60h page 01h codec class/rev reserved cl4 cl3 cl2 cl1 cl0 rv7 rv6 rv5 rv4 rv3 rv2 rv1 rv0 12xxh 62h vendor reserved 62h page 01h pci svid pvi15 pvi14 pvi13 pvi12 pvi11 pvi10 pvi9 pvi8 pvi7 pvi6 pvi5 pvi4 pvi3 pvi2 pvi1 pvi0 ffffh 64h vendor reserved 64h page 01h pci sid pi15 pi14 pi13 pi12 pi11 pi10 pi9 pi8 pi7 pi6 pi5 pi4 pi3 pi2 pi1 pi0 ffffh 66h vendor reserved 66h page 01h function select reserved fc3 fc2 fc1 fc0 t/r 0000h 68h vendor reserved 68h page 01h function information g4 g3 g2 g1 g0 inv dl4 dl3 dl2 dl1 dl0 iv reserved fip xxxxh 6ah digital audio control reserved spor do1 rsvd 0000h 6ah page 01h sense details st2 st1 st0 s4 s3 s2 s1 s0 or1 or0 sr5 sr4 sr3 sr2 sr1 sr0 na 6ch revision code 0 0 0 0 0 0 0 0 0 0 0 0 x x x x 00xxh
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 93 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing *depends upon chip i d 6ch page 01h reserved 6eh analog special reserved ac97 all mix reserved mute fix disable adc slot1 adc slot0 rsvd mic gain value sply ovr en sply ovr val 1000h 6eh page 01h reserved 70h vendor reserved 0000h 72h analog current adjust reserved int apop reserved 0000h 74h eapd access eapd reserved eapd_ oen reserved intdis gpio acc gpio slt12 0800h 76h vendor reserved 0000h 78h high pass filter bypass rseserved adc hpf byp 0000h 7ah reserved reserved 0000h 7ch vendor id1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 8384h 7eh vendor id2 9752 0 1 1 1 0 1 1 0 0 1 0 1 0 0 1 0 7652h reg # name d15 d14 d13 d12 d11 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 default
STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing idt? 94 STAC9752/9753 rev 3.3 1206 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing 17. revision history revision date description of change 3.2 october 2003 -removed ?preliminary? tag on front page. -removed bit_clk as an input option from clocking table, it was incorrectly included in 3.1 version. -added cd_gnd elaboration note on connection diagram, pin list and pin out diagrams: ?the cd_gnd signal is an ac signal return for the two cd input channels. it is normally biased at about 2.5 v. the name of the pin in the ac?97 specification is cd_gnd, and this has confused many designers. it should not have any dc path to gnd. connecting the cd_gnd signal directly to ground will change the internal bias of the entire codec, and cause serious distortion. if there is no analog cd input, then this pin can be no-connect. ? 3.2 3 october 2006 release in idt format. 3.3 december 2006 updated part ordering information to longer orderable part number related to previously issued pcn.
? 2006 integrated device technology, inc. all rights reserved. product specifications subject to change without notice. idt and the idt logo are trademarks of integrated device technology, inc. accelerated thinking is a service mark of integrated device technology, inc. all other brands, product names an d marks are or may be trademarks or registered trademarks used to identify products or services of their respective owners. corporate headquarters integrated device technology, inc. 6024 silver creek valley road san jose, ca 95138 united states 800 345 7015 +408 284 8200 (outside u.s.) europe idt europe, limited prime house barnett wood lane leatherhead, surrey united kingdom kt22 7de +44 1372 363 339 for sales 800-345-7015 408-284-8200 fax: 408-284-2775 for tech support ha.cm@idt.com innovate with idt audio for high fidelity . contact: www.idt.com STAC9752/9753 two-channel, 20-bit, ac?97 2.3 codecs with headphone drive, spdif output microphone & jack sensing


▲Up To Search▲   

 
Price & Availability of STAC9752

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X